Download, Installation und erste Schritte

Download, Installation und erste Schritte

1. Einleitung

In diesem Tutorial wird Schritt für Schritt erklärt, wie Sie das Adventure PHP Framework (kurz APF) einrichten.

2. Anforderungen

Bevor Sie beginnen, stellen Sie bitte zunächst sicher, dass Sie einen PHP-fähigen Webserver installiert haben. Für einen lokalen Testserver unter Windows eignet sich XAMPP sehr gut. Er beinhaltet eine Installation aller wichtigen Serverkomponenten, wie Apache, PHP, MySQL, etc. Je nach Aufbau des Enwicklungssystems, müssen im Folgenden gegebenenfalls Pfade angepasst werden. Unter LINUX/UNIX können die notwendigen Webserver- und PHP-Bibliotheken mit dem Paket-Manager Ihrer Wahl sehr einfach direkt installiert werden.

Weitere Hinweise finden Sie in den Grundlagen.

3. Download

Unter Downloads finden Sie die aktuellste Version des APF. Zum Zeitpunkt der Erstellung des Tutorials ist dies die Version 3.0.

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 Beispiel-Konfigurationsdateien für Komponenten und Module des APF, die als Grundlage für die Erstellung eigener Konfigurationen dienen können.

Für dieses Tutorial wird das Framework-Code-Release verwendet, welches Sie nun bitte herunterladen.

4. Installation

Zunächst ist es wichtig die Ordnerstruktur zu verstehen. Im Tutorial wird davon ausgegangen, dass der Document-Root (der Ordner der von Ihrem Webserver genutzt wird wenn Sie http://localhost/ im Browser aufrufen) 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. Die Bootstrap-Datei (z.B. index.php) legen wir im Ordner /xampp/htdocs ab. Hier werden außerdem öffentlich zugängliche Dateien platziert (z.B. CSS, JS, Bilder).

Aus Sicherheitsgründen sollten die Dateien des APF nicht öffentlich zugänglich sein da sonst Konfigurationsdateien einfach von außen ausgelesen werden könnten. Die sicherste Variante ist die Dateien des APF oberhalb des Wurzelverzeichnisses abzulegen. Sollte dies aus irgendeinem Grund (wie z.B. einem Webspace, bei dem nur Zugriff auf das Wurzelverzeichnis besteht) nicht möglich sein, fahren Sie mit Kapitel 4.2 fort. Dort wird eine zusätzliche Sicherung erstellt um den Zugriff von außen zu unterbinden. Sofern Sie in der Konfiguration Ihres Web-Accounts frei sind, folgen Sie den Anweisungen in Kapitel 4.1.

4.1. Installation außerhalb des Root-Verzeichnisses

Um die Dateien unserer Webseite bzw. Applikation zu schützen, legen wir nun das Verzeichnis /xampp/APF parallel zum Root-Verzeichnis /xampp/htdocs an. Öffnen Sie nun das zuvor heruntergeladene Paket und entpacken es in das soeben erstellte Verzeichnis.

Sie finden nun folgende Ordnerstruktur vor:

Code
/xampp/APF/ core/ modules/ tools/ ... htdocs/

Sie können nun direkt mit Kapitel Kapitel 5 fortfahren.

4.2. Installation innerhalb des Root-Verzeichnisse

Installieren Sie das APF innerhalb des von aussen zugänglichen Bereichs Ihres Webservers muss darauf geachtet werden, dass der Ordner in dem sich die APF Dateien befinden vor dem Zugriff geschützt ist.

Legen Sie nun das Verzeichnis /xampp/htdocs/APF/ an und entpacken die zuvor heruntergeladene Datei.

Sie finden nun folgende Ordnerstruktur vor:

Code
/xampp/htdocs/APF/ core/ modules/ tools/ ...

Um das Verzeichnis /xampp/htdocs/APF vor dem Zugriff von außen zu schützen, legen Sie bitte die Datei .htaccess mit folgendem Inhalt an:

Shell
# Apache <=2.2 Order allow,deny deny from all # Apache >=2.4 Require all denied
Beim übertragen der .htaccess-Datei via FTP muss die übertragungsmethode auf ASCII gestellt werden, andernfalls kann es zu Problemen kommen.

5. Erste Schritte

Da in den Kapiteln 4.1 und 4.2 jeweils unterschiedliche Installationsordner verwendet wurden, ist im folgenden mit dem Ordner /APF sowohl der ausserhalb des Document-Root befindliche Ordner /xampp/APF als auch der innerhalb angelegte Ordner /xampp/htdocs/APF gemeint.

Zuerst eine kurze Erklärung der einzelnen Ordner:

  • /APF/core: Hier befinden sich alle Systemdateien des APF.
  • /APF/modules: Hier befinden sich optionale Module die 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.
  • /APF/tools: Hier befinden sich viele kleinere Tools, die Ihre Arbeit einfacher gestalten.
  • /APF/extensions: In diesem Bereich finden Sie Erweiterungen des APF.

Legen Sie nun die Datei /xampp/htdocs/index.php an. Wir werden nun eine einfache "Hallo Welt"-Applikation schreiben, um die Funktionalität des APF zu erklären.

Im Folgenden wird der Begriff Namespace statt der Bezeichung Ordner verwendet. Das hat folgenden Hintergrund: der Namespace ist eine relative Adressierung ausgehend vom /APF-Ordner. Bei Namespaces müssen alle "/"" im Ordner-Pfad durch "\" ersetzt werden.

Zur Generierung der Anzeige legen wir nun ein Template mit dem Namen helloworld.html im Ordner /APF/helloworld an und füllen dieses mit dem Inhalt:

APF-Template
Hallo Welt!

Zur Generierung der Ausgabe erweitern Sie bitte die zuvor angelegte index.php mit folgenden Inhalt (Erklärung folgt darunter):

PHP-Code
// Bootstrap-Datei für den unter 4.1 konfigurierten Ordner einbinden include('../APF/core/bootstrap.php'); // Bootstrap-Datei für den unter 4.2 konfigurierten Ordner einbinden include('./APF/core/bootstrap.php'); use APF\core\singleton\Singleton; use APF\core\frontcontroller\Frontcontroller; // Front-Controller erzeugen und konfigurieren $fC = Singleton::getInstance(Frontcontroller::class); // Request-Abarbeitung starten und Ergebnis zum Client senden echo $fC->start('APF\helloworld', 'helloworld');

Zuerst wird die Datei bootstrap.php eingebunden, die die Basis-Konfiguration des Frameworks vornimmt. Anschließend wird der Front-Controller erzeugt und mit dem initialen Template gestartet. Der erste Parameter der start()-Methode ist dabei der Namespace (=der Pfad zum Template) und der zweite Parameter benennt die Templatedatei. Template-Namen werden im APF immer ohne die Dateiendung angegeben, da die Endung *.html per Konvention amgehangen wird. Zuletzt wird noch per echo die erzeugte Seite ausgegeben.

Die genaue Funktionsweise des Front-Controller kann unter Front-Controller nachgelesen werden.

Um das Ergebnis zu betrachten rufen wir die URL

Code
http://localhost/index.php

auf. Dort sollte nun Hallo Welt! erscheinen.

6. Fazit

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 schlagen wir Erstellen einer Webseite vor.

Ralf Schubert findet das APF genial!

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 erklärt.

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   »
Einträge/Seite: | 5 | 10 | 15 | 20 |
1
Ralf Schubert 14.07.2011, 12:40:49
Hi Christian (#5),
Die Ordnerbezeichnung ist durchaus korrekt, wenn auch möglicherweise etwas verwirrend.

In Schritt 4 wird zu Beginn der Ordner /xampp/htdocs/APF/sites/helloworld/angelegt, darin muss die index.php platziert werden. Dieser Ordner wird später von außen für Besucher zugänglich sein.

Der /apps/ Ordner wird entweder außerhalb des zugänglichen Bereiches (Schritt 4.1) oder aber mit .htacces geschützt innerhalb des zugänglichen Bereiches (Schritt 4.2) erstellt, und enthält die internen Dateien des APF, sowie alle Seitenrelevanten Dateien. Da diese nicht direkt aufgerufen werden sollen, liegen diese in einem extra Ordner.

Daher ist der Aufruf von http://localhost/APF/sites/helloworld/index.php in diesem Fall korrekt, hier liegt unsere Bootstrap Datei.

Du kannst die index.php natürlich auch direkt unter http://localhost/APF/index.php anlegen, sofern du den Pfad zum APF darin anpasst.

Ich hoffe dir ist damit geholfen :)

Grüße
Ralf
2
Christian Achatz 09.07.2011, 16:17:36
Hallo Christian,

korrekt, die Pfad-Bezeichnung ist nicht konsistent, danke für den Hinweis. Wird demnächst behoben...
3
Christian 18.06.2011, 15:47:37
Hier ist die Rede von einem apps Verzeichnis in dem der sites Ordner erstellt werden soll:
/apps/sites/helloworld

Später wird allerdings eine andere URL aufgerufen:
http://localhost/APF/sites/helloworld/index.php
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.
5
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
6
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
7
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.