Open Source im professionellen Einsatz

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.

Abbildung 4: Der automatisch erzeugte Standardcontroller liefert nur eine schlichte Textmeldung.

Abbildung 4: Der automatisch erzeugte Standardcontroller liefert nur eine schlichte Textmeldung.

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

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook