Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

PHP ORM React Framework - Dokumentation

Diese Dokumentation bietet eine umfassende Übersicht über das PHP ORM React Framework (Phorm RF) mit detaillierten Beschreibungen aller Funktionen und praktischen Beispielen.

Inhaltsverzeichnis

Grundlagen

API-Dokumentation

  • Controllers - Alle Controller-Typen und deren Verwendung
  • Services - Verfügbare Services (Doctrine, Cache, Logger, etc.)
  • Handlers - Session, Flash Messages, Navigation, etc.
  • Annotations - Routing, Navigation und Zugriffskontrolle
  • Entities - Doctrine ORM Entities

Beispielprojekte

Weitere Ressourcen


Installation

Voraussetzungen

  • PHP 7.4 oder höher
  • Composer
  • Node.js und Yarn
  • MySQL, PostgreSQL oder SQLite

Neues Projekt erstellen

# Projekt erstellen
composer create-project dwwe/php-orm-react-framework mein-projekt

# In das Projektverzeichnis wechseln
cd mein-projekt

# Node.js-Abhängigkeiten installieren
yarn install

# Assets-Abhängigkeiten installieren
cd assets
yarn install
cd ..

Konfiguration

# Konfigurationsdateien kopieren
cp config/default-config.php.dist config/default-config.php
cp config/portal-config.php.dist config/portal-config.php

Die Hauptkonfiguration befindet sich in config/default-config.php:

<?php
return [
    'debug_mode' => true,  // Entwicklungsmodus aktivieren
    
    // Datenbankverbindung
    'connection_option' => 'default',
    'connection_options' => [
        'default' => [
            'driver' => 'pdo_mysql',
            'host' => 'localhost',
            'dbname' => 'mein_projekt',
            'user' => 'root',
            'password' => '',
            'charset' => 'utf8mb4'
        ]
    ],
    
    // Cache-Konfiguration
    'cache' => [
        'system' => [
            'driver' => 'Files',
            'path' => 'data/cache/system'
        ]
    ]
];

Projektstruktur

projekt/
├── assets/                 # Frontend-Assets (React, CSS, JS)
│   ├── react/             # React-Komponenten
│   └── scss/              # SCSS-Stylesheets
├── config/                # Konfigurationsdateien
├── data/                  # Daten und Cache
│   ├── cache/            # Cache-Dateien
│   └── logs/             # Log-Dateien
├── inc/                   # Include-Dateien
├── locale/                # Übersetzungsdateien
├── log/                   # Zusätzliche Logs
├── modules/               # Anwendungsmodule
│   ├── ExampleModule/    # Beispielmodul
│   └── MeinModul/        # Eigene Module
├── system/                # Framework-Kern
│   ├── Annotations/      # Annotation-Klassen
│   ├── Controllers/      # Basis-Controller
│   ├── Entities/         # System-Entities
│   ├── Handlers/         # Handler-Klassen
│   ├── Helpers/          # Hilfsklassen
│   ├── Managers/         # Manager-Klassen
│   ├── Services/         # Service-Klassen
│   └── Traits/           # PHP Traits
├── templates/             # Twig-Vorlagen
├── views/                 # System-Views
├── composer.json          # PHP-Abhängigkeiten
├── package.json          # Node.js-Abhängigkeiten
└── index.php             # Einstiegspunkt

Grundlegende Konzepte

MVC-Architektur

Das Framework folgt dem Model-View-Controller-Muster:

  1. Model - Doctrine ORM Entities für Datenbankzugriff
  2. View - Twig-Templates für die Ausgabe
  3. Controller - Logik und Request-Handling

Modulsystem

Module sind eigenständige Anwendungsteile mit eigenen:

  • Controllers
  • Entities
  • Views
  • Assets
modules/MeinModul/
├── src/
│   ├── Controllers/
│   ├── Entities/
│   └── Repositories/
└── views/
    └── MeinController/
        └── indexAction.tpl.twig

Routing

Das Routing erfolgt über URL-Parameter:

index.php?module=meinModul&controller=mein&action=liste

Wird aufgelöst zu:

  • Modul: MeinModul
  • Controller: MeinController
  • Action: listeAction()

Nächste Schritte

  1. Lesen Sie die API-Dokumentation für Details zu Controllers
  2. Folgen Sie einem Beispielprojekt
  3. Studieren Sie das TodoModule als Referenz

Support