Tutorials » Download, Installation und erste Schritte
Download, Installation und erste Schritte
In diesem Tutorial wird Schritt für Schritt erklärt, wie man das Adventure PHP Framework
(kurz APF) einrichtet.
Es wird davon ausgegangen, dass ein PHP fähiger Server zur Verfügung steht. Für einen
lokalen Testserver unter Windows eignet sich
XAMPP sehr
gut. Es beinhaltet eine Installation aller wichtigen Serverkomponenten, wie Apache, PHP, MySQL, etc.
Je nachdem wie euer System aufgebaut ist, müssen die Pfade angepasst werden. Auf LINUX/UNIX
könnt ihr die PHP Bibliotheken mit dem favorisierten Paket-Manager direkt installieren.
Unter
Downloads
findet man stets die aktuellste Version des APF. Zum Zeitpunkt der Erstellung des Tutorials ist
dies die Version 1.10.
Bei den Release-Dateien wird zwischen folgenden Paket-Typen unterschieden:
-
Beispiel-Projekt: (apf-demopack-*):
Enthält die notwendigen APF Dateien, sowie einige Anwendungsbeispiele. Dieses Paket ist
speziell für Einsteiger gedacht.
-
Framework-Code-Release: (apf-codepack-*):
Enthält die notwendigen APF Dateien. Dieses Paket ist für den Produktiveinsatz
gedacht.
-
Beispiel-Konfigurationsdateien: (apf-configpack-*):
Enthält nur Konfigurationsdateien für einige Module des APF, an denen man sich bei
der Erstellung seiner Konfigurationen orientieren kann.
Für dieses Tutorial wird das Framework-Code-Release verwendet, welches Sie nun herunterladen
können.
Zuerst ist es wichtig die Ordnerstruktur zu verstehen. Im Tutorial wird davon ausgegangen, dass der
Document-Root (der Ordner der geöffnet wird wenn man
http://localhost/ im Browser aufruft)
unter
/xampp/htdocs liegt.
Das APF ist so aufgebaut, dass nur eine einzige Datei (Bootstrap Datei) aufgerufen wird. Der Rest
wird über URL-Parameter gesteuert. Für die Bootstrap Datei (z.B.
index.php) legen
wir die Ordner
/xampp/htdocs/APF/sites/helloworld/ an. Hier werden außerdem öffentlich
zugängliche Dateien platziert (z.B. Bilder).
Aus Sicherheitsgründen sollten die Dateien des APF nicht öffentlich zugänglich sein,
denn sonst können Konfigurationsdateien einfach von außen gelesen werden. Die sicherste
Variante ist es, wenn man die Dateien des APF oberhalb des Wurzelverzeichnisses ablegt. Sollte dies
aus irgendeinem Grund (wie z.B. einem Webspace, bei dem man nur Zugriff auf das Wurzelverzeichnis
hat) nicht möglich sein, fahren Sie bei Punkt 4.2 fort, wo eine zusätzliche Sicherung
erstellt wird, um den Zugriff von außen zu unterbinden, andernfalls folgen Sie den Anweisungen
aus 4.1.
Da das Root-Verzeichnis unter
/xampp/htdocs/ liegt, legen wir das Verzeichnis
/xampp/APF/ an. Jetzt öffnen wir das zuvor heruntergeladene Paket, und entpacken es
in das eben erstellte Verzeichnis.
Jetzt sollte man folgende Ordnerstruktur vorfinden:
Code
/xampp/APF/apps/
core/
modules/
tools/
Wenn dem so ist, kann Punkt 4.2 übersprungen werden.
Hierbei muss darauf geachtet werden, dass der Ordner in dem sich die APF Dateien befinden vor dem
Zugriff von außen geschützt werden muss. Wir haben ja schon das Verzeichnis
/xampp/htdocs/APF/ angelegt. Dort entpacken wir jetzt die zuvor heruntergeladene Datei.
Jetzt sollte die Ordnerstruktur
Code
/xampp/htdocs/APF/apps/
core/
modules/
tools/
vorhanden sein.
Um das Verzeichnis vor dem Zugriff von außen zu schützen, legen wir die Datei
.htaccess unter
/xampp/htdocs/APF/apps/ an:
Shell
# Zugriff von außen unterbinden
Order allow,deny
deny from all
Beim übertragen der .htaccess Datei via FTP muss die übertragungsmethode auf ASCII
gestellt werden, andernfalls kann es zu Problemen kommen.
Der Einfachheit wegen wird ab sofort auf den kompletten Pfad verzichtet. /apps/ ist ab jetzt der
geschützte APF Ordner, und /APF/ der öffentlich zugängliche Ordner.
Zuerst eine kurze Erklärung der einzelnen Ordner:
-
/apps/core/: Hier befinden sich alle Systemdateien des APF, welche zwingend
notwendig sind.
-
/apps/modules: Hier befinden sich optionale Module, welche das APF
mitliefert. Diese müssen jedoch erst konfiguriert werden. Wie das geht kann unter
den Tutorials auf der
Übersichts-Seite der vorhandenen Module
eingesehen werden.
-
/apps/tools: Hier findet man viele kleinere Tools welche man verwenden kann.
Jetzt legen wir die Datei
/APF/sites/helloworld/index.php an. Wir werden eine
einfache "Hallo Welt" Applikation schreiben, um die Funktionalität zu erklären.
Im Folgenden wird der Begriff Namespace statt der Bezeichung Ordner verwendet.
Das hat folgenden Hintergrund: der Namespace ist eine relative Adressierung vom
/apps Ordner aus. Beim Namespace müssen alle "/" im Ordner-Pfad durch "::"
ersetzt werden.
Es muss nun der Namespace für das Template erstellt werden. Hierzu legen wir die Ordner
/apps/sites/helloworld an. Darin werden die Ordner
/pres/templates
angelegt. Da das APF auf einem 3 Schichten Modell aufbaut (Präsentation, Verwaltung und Daten),
steht das
pres hier für die Präsentationssschicht, in der unter dem Ordner
/templates die
.html Templates gespeichert werden. Wir
benötigen für dieses Beispiel nur ein einziges Template:
APF-Template
helloworld.html
In dieses Template schreiben wir jetzt einfach folgenden Inhalt:
APF-Template
Hallo Welt! Hello World!
Jetzt editieren wir die zuvor angelegte index.php. Sie bekommt folgenden Inhalt (Erklärung
folgt darunter):
PHP-Code
// Page-Controller einbinden (für den unter 4.1 konfigurierten Ordner)
include_once('../../../APF/apps/core/pagecontroller/pagecontroller.php');
// Page-Controller einbinden (für den unter 4.2 konfigurierten Ordner)
//include_once('../../apps/core/pagecontroller/pagecontroller.php');
// Seite erzeugen
$page = new Page();
// Haupt-Template der Seite laden
$page->loadDesign('sites::helloworld::pres::templates','helloworld');
// Seite transformieren und ausgeben
echo $page->transform();
Zuerst wird der Page-Controller eingebunden. Hier muss die Variante gewählt werden, die bei der
Installation verfolgt wurde. Als nächstes wird ein neues Objekt von Page erzeugt. Daraufhin
wird das Template geladen welches wir eben erstellt haben. Der erste Parameter ist dabei der
Namespace, der zweite Parameter dann der Pfad zum Template, und der Name der Templatedatei. Namen
werden im APF immer ohne die Dateiendung angegeben, da die Konvention des Frameworks schon sagt, wie
diese lauten müssen (*.html für Templates, *.ini für Konfigurationsdateien, *.php
für PHP-Dateien). Zuletzt wird die Seite noch transformiert und ausgegeben.
Die genaue Funktionsweise des Page-Controller kann unter
Der APF Page-Controller
nachgelesen werden.
Um das Ergebnis zu betrachten rufen wir
APF-Template
http://localhost/APF/sites/helloworld/index.php
auf.
Dort sollte nun
Hallo Welt! Hello World! erscheinen.
Jetzt sollte die grundlegende Funktionalität des APF bekannt sein. Um die vielen anderen
Funktionen kennenzulernen, empfiehlt es sich noch ein paar weitere Tutorials zu lesen. Als
nächstes Tutorial schlage ich das
Tutorial Webseite erstellen
vor.
Dieser Artikel wurde exklusiv für adventure-php-framework.org geschrieben.
Über den Autor:
Ralf Schubert ist begeisterter APF-Entwickler. Für ihn bietet es viele Vorteile
gegenüber anderen Frameworks. Besonders gerne nutzt er die einfach Möglichkeit,
wiederverwendbare Elemente zu erstellen.
Um Neueinsteiger bei der Verwendung des APF zu unterstützen hat er ein Tutorial verfasst. Darin
werden die ersten Schritte mit dem Framework zu erklären.
Kommentare
Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese
hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.
1
BazzRah
15.10.2009, 18:50:49
Punkt 2:
- müssen die Pfade werden angepasst werden
Punkt 4.4:
- Es gibt keinen Punkt 4.2. ... ??
/APF/sites/helloworld/index.php ->
Warum sollte ich eine Bootstrap-Datei nochmal in den Namespace unterhalb des htdocs schachteln? Das macht doch nur den Aufruf unnötig kompliziert; oder gibt es dafür einen vernünftigen Grund.
2
Screeze
20.10.2009, 18:07:22
Hi,
die Fehler werden ausgebessert.
Natürlich muss da der namespace nicht unbedingt gesetzt werden.
Aber um die möglichkeit zu geben mehrere versch. einzelseiten (die unabhängig voneinander sind) habe ich mir angewöhnt diese schachtelung vorzunehmen. (gerade bei neulingen, die mehrere sachen testen, oder auf dem lokalen entwicklungsserver)
Normal setze ich dann einen vhost auf diesen Ordner, aber das würde zu weit gehen.
Screeze
3
Detlef
20.01.2010, 08:50:13
Ihr schreibt:
Da das Root-Verzeichnis unter /xampp/htdocs/ liegt, legen wir das Verzeichnis /xampp/APF/ an.
Und weiterhin:
Um das Ergebnis zu betrachten rufen wir
1. http://localhost/APF/sites/helloworld/index.php
Da jedoch die Root unter /xampp/htdocs/ zu finden ist, erhält man (zumindest ich) einen 404 Fehler.
Was muss ich machen, damit das APF auch außerhalb der Root funktioniert?
Viele Grüße - Detlef
4
Christian
20.01.2010, 15:24:55
Hallo Detlef,
das kannst du erreichen, in dem du in deiner Apache-Konfiguration ein Alias auf das gewünschte Verzeichnis legst (Alias /my-app /path/to/my-app) oder einen dedizierten VHOST erstellst.
Zudem empfiehlt es sich für eine zentrale Entwicklung, die immer wieder benötigten Elemente per junction (Windows) oder symlink (LINUX/UNIX) in den jeweils genutzten Arbeits-Ordner zu linken.