Inhaltsverzeichnis
1.) PHP Framework installieren -> Installationsanleitung
Installation
Das phpFK – PHP Framework läßt sich schnell und problemlos installieren! Der Composer wird nicht benötigt bei der Installation auf XAMPP!
- Schritt 1
Laden Sie sich die neuste Version des phpFK – PHP Framework runter!
- Schritt 2
Entpacken Sie das ZIP Verzeichnis
- Schritt 3
Laden Sie die Dateien auf Ihren Space, Server, VPS hoch oder legen Sie die Dateien in XAMPP ab!
- Schritt 4
Rufen Sie das PHP Framework im Verzweichnis htdocs auf
2.) Projekt Struktur im PHP Framework
Wenn Sie das Projektverzeichnis öffnen, – zum Beispiel http://localhost/phpfk, dann können Sie folgende Projektstruktur sehen:
Applikation
In diesem Verzeichnis sehen Sie drei Unterverzeichnisse: Controller, Model und View – das sind die drei Teile des MVC Design Patterns.
Controller
Mit der Angabe von mehreren Controllern ordnen Sie die verschiedenen Teile Ihrer Anwendung in Methodengruppen ein, z. B. Zugriff, Verwaltung, Index. Diese Controller-Klassen enthalten mehrere Methoden, die Actions genannt werden.
Modell
Models sind Klassen, die mit beliebigen externen Daten kommunizieren, z.B. einer MYSQL Datenbank, einer XML Datei oder per Hosting – Webspace, VPS & Server. Models verarbeiten auch Geschäftslogik.
View
Die view HTML Dateien sind Vorlagen, die bestimmen, was Ihre verschiedenen GUI Seiten enthalten und wie sie aussehen.
Config
Beliebige Konfigurationsdateien, z. B. die database.config.ini, die die Verbindungsdetails der mysql-Datenbank definiert. Oder die Angabe von URLs zu Ihrer Applikation.
Library
Speichern Sie alle externen PHP-Klassen und -Bibliotheken, die Sie verwenden möchten, in diesem Verzeichnis. Zum Beispiel irgendwelche zusätzlichen Parser-Klassen, eine Template-Engine wie Smarty, oder sogar die gesamte Zend-Bibliothek. Es enthält standardmäßig die phpFK Bibliothek.
Public
Hier werden alle Dateien hinterlegt, die über das Internet direkt aufgerufen werden müssen, wie Bilder, Stylesheets, Javascripts und so weiter. Wenn möglich, sollte dies das einzige öffentliche Verzeichnis sein.
Das bedeutet, dass das Apache Stammverzeichnis Ihrer Domain oder Subdomain auf dieses Verzeichnis zeigen sollte. Außerdem gibt es eine .htaccess-Datei sowie eine index.php. Über diese lesen Sie im Kapitel “So funktioniert es”.
3.) Los geht’s!
Controllers und Actions
In phpFK-Projekten sind die URLs nach folgender Struktur aufgebaut:
Beim Aufruf der obigen URL wird die IndexAction im IndexController aufgerufen.
Schreiben von Controllern und Templates
Wenn Sie die Datei IndexController.php öffnen, werden Sie sehen, dass es bereits ein ziemlich grundlegendes Beispiel für eine Controller-Klasse gibt. Werfen Sie einen Blick auf die folgenden Zeilen:
Durch die Zuweisung von Werten an Variablen in der Ansicht können Sie dynamische Daten in Ihren Vorlagen zugänglich machen, wie in diesem Beispiel. Die Zeichenfolge “phpFK” wird der Ansichtsvariablen someVariableName zugewiesen. Die Methode render rendert Ihr gewünschtes Template und gibt das Ergebnis zurück. Vergessen Sie nicht, das Echo auszugeben!
Nun können Sie auf someVariableName in Ihrer Template-Datei zugreifen. In diesem Fall welcome.phtml
4.) So funktioniert es!
.htaccess
Die Verarbeitung eines jeden phpFK-Projekts beginnt mit der .htaccess-Datei im Public Ordner. Sie stellt sicher, dass jede HTTP-Anfrage auf die öffentliche index.php-Datei umgeschrieben wird, es sei denn, sie ist auf eine Datei gerichtet, die tatsächlich im Public Ordner existiert, wie z.B. Bilder, Skript- und Style-Dateien.
Public index.php
Dies ist der Beginn der eigentlichen PHP-Verarbeitung eines phpFK-Projekts. Hier wird alles initialisiert, was das Framework benötigt, Plugins werden registriert und der Bootstrap-Prozess wird ausgeführt.
Bootstrap
Das Herzstück von phpFK. Es verarbeitet die Plugin-Schnittstelle und das Controller-Routing.
5. Mysql-Datenbank-Verbindung
Einrichtung der database.config.ini
Das erste, was Sie tun müssen, wenn Sie die phpFK Mysql-Schnittstelle verwenden möchten, ist, Ihre Datenbankverbindungen in die Datei config/database.config.ini einzutragen. Sie finden dort eine Beispielverbindung, die mit Semikolons auskommentiert ist.
Es ist auch möglich, mehrere Datenbankverbindungen zu verwenden. Halten Sie sich einfach an das folgende Schema um Datenbankverbindungen herzustellen:
Wenn Sie möchten, können Sie :default zu Ihrer Hauptverbindung hinzufügen.
Verbinden
phpFK verbindet sich automatisch mit allen Verbindungen, die in der Konfigurationsdatei eingetragen sind. In allen Controllern und Modellklassen können Sie auf die Standardverbindungen zugreifen, indem Sie Folgendes verwenden:
Andernfalls müssen Sie die Verbindung wie folgend herstellen:
Wenn Sie getConnection() ohne einen Parameter aufrufen, dann wird die Standardverbindung gewählt.
Ausführen einer SQL-Anweisung
Die häufigste Art, eine SQL-Anweisung auszuführen können Sie an Folgenden Beispiel nachvollziehen:
Wichtige Datenbank-Methoden
Beschreibung der gängigen Methoden für die Datenbank:
- createStatement($sql, $values) => Erstellt einen sauberen SQL-String
- fetchAll($sql) => Gibt ein mehrdimensionales Array result zurück
- fetchOne($sql) => Gibt eine Ergebniszeile als eindimensionales Array zurück
- fetchField($sql) => Gibt den Wert eines Feldes
- insert($table, $values) => Fügt eine Zeile in eine Tabelle ein
- count($sql) => Zählt die Ergebniszeilen
- analyseLast() => Gibt detaillierte Informationen über die letzte Anweisung aus
- lastInsertId() => Gibt den Wert eines Feldes zurück
6. Plugin-Schnittstelle
Mit Plugins ist es möglich, Methoden vor und/oder nach der Abarbeitung des Controllers aufzurufen.
Ein Plugin programmieren
Werfen Sie einen Blick auf das obige Beispiel. Beachten Sie, dass Ihr Plugin die Klasse phpFK_Controller_Plugin_Abstract erweitern muss. Sie müssen nur die Methode preController und/oder postController überschreiben, um loszulegen.
Plugins registrieren
Es ist wichtig, dass alle Plugins, die aufgerufen werden sollen, zu registrieren. Öffnen Sie die Datei public/index.php und platzieren Sie dort Ihre Plugin-Registrierungen wie folgend:
Ihre Plugins werden in der gleichen Reihenfolge aufgerufen, wie Sie sie registrieren:
Verarbeitung von Anfragen
Schauen Sie sich zum besseren Verständnis das Diagramm im Kapitel “Funktionsweise” an. Manipulation der Anfrage
Es ist eine übliche Methode, den Controller oder die Aktion, die aufgerufen werden soll, zu manipulieren, indem man das Pre Controller Plugin Hook verwendet. Sie können dies für den Aufbau einer Zugriffskontrolle verwenden.