Packstation
Alle PHP-Dateien und Ressourcen einer Anwendung fasst Flow3 in Paketen (Packages) zusammen. Jedes Paket erhält einen eindeutigen Namen, den so genannten Package Key. Er setzt sich aus dem Firmennamen des Entwicklers und einem frei wählbaren Paketnamen zusammen. Möchte beispielsweise die Roxy GmbH eine Verwaltung für Kinofilme erstellen, könnte sie alle dazu gehörenden PHP-Dateien in ein Paket namens »Roxy.Filme«
stecken.
Die Dateien und Ressourcen eines Pakets lagern unter »Packages/Application«
in jeweils einem eigenen Verzeichnis, das wiederum den Namen des Pakets trägt. Die Dateien der Roxy GmbH finden ihren Platz folglich unter »FLOW3-1.0.0/Packages/Application/Roxy.Filme«
.
Darin liegt der PHP-Code aber nicht einfach lose herum, er hat einer festen Verzeichnisstruktur zu folgen. Die könnte der Anwender mühsam per Hand anlegen – oder er überlässt die Arbeit einfach wieder dem »flow3«
-Skript. Der folgende Befehl erzeugt das »Roxy.Filme«
-Paket:
./flow3 kickstart:package Roxy.Filme
In »Packages/Application/Roxy.Filme«
befinden sich jetzt die Unterverzeichnisse aus Tabelle 2. Darüber hinaus hat Flow3 bereits einen einfachen Controller namens »Standard«
angelegt, der bei seinem Aufruf einen Nonsens-Text ausspuckt. Er lässt sich im Browser über die URL »http://localhost/FLOW3-1.0.0/Web/index.php/Roxy.Filme/Standard«
aufrufen (mit virtuellem Host unter »http://beispiel.local/Roxy.Filme/Standard«
). Das Ergebnis zeigt Abbildung 4. Anhand der URL erkennt Flow3 also, welchen Controller in welchem Package es aufrufen muss.
Lagerhalle
Die Roxy GmbH möchte allerdings keinen Dummytext ausgeben, sondern eine Liste mit Filmen verwalten. Alle Streifen sollen dabei in einer Datenbank aufgehoben sein. In welcher Datenbank genau, muss der Anwender über eine entsprechende Konfigurationsdatei Flow3 mitteilen. Im Fall einer MySQL-Datenbank erstellt er im Verzeichnis »/FLOW3-1.0.0/Configuration«
die neue Datei »Settings.yaml«
und füllt sie wie in Listing 2.
Listing 2
Settings.yaml
01 TYPO3: 02 FLOW3: 03 persistence: 04 backendOptions: 05 driver: 'pdo_mysql' 06 dbname: 'filme' # Name der Datenbank 07 user: 'root' # Benutzer der Datenbank 08 password: 'geheim' # Passwort der Datenbank 09 host: '127.0.0.1' # Datenbank-Host
Den Datenbanknamen (»dbname«
), den Benutzernamen (»user«
) und das Passwort muss er an die eigenen Gegebenheiten anpassen. Unter Ubuntu und XAMPP heißt der Benutzer »root«
, das Passwort ist bei XAMPP leer. Konfigurationsdateien erwartet Flow3 immer im Yaml-Format [6]. In dieser Auszeichnungssprache spielen die Einrückungen eine wichtige Rolle: Pro Ebene sind dabei jeweils zwei Leerzeichen zu verwenden. Eine kommentierte Vorlage für »Settings.yaml«
gibt es unter »/FLOW3-1.0.0/Configuration/Settings.yaml.example«
.
Die Datenbank – im Beispiel heißt sie »filme«
– legt Flow3 im Gegensatz zu anderen CMS nicht selbst an. Der Anwender muss das per Kommandozeile tun:
mysql -u root CREATE DATABASE filme; exit
Unter XAMPP steckt »mysql«
im Unterverzeichnis »/opt/lampp/bin«
. Sobald die Datenbank existiert, erzeugt
./flow3 doctrine:migrate
darin alle von Flow3 benötigten Datenbanktabellen.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





