Serie: PHP-Frameworks Teil 3 - Seagull
Die Möwe im Namen deutet auf ein schlankes Framework hin. Diese Erwartung kann Seagull erfüllen, besticht dabei aber auch durch alle wichtigen OOP-Funktionen und viele CMS-Möglichkeiten.

- Serie: PHP-Frameworks Teil 3 - Seagull
- Teil 2: Serie: PHP-Frameworks Teil 3 - Seagull
- Teil 3: Serie: PHP-Frameworks Teil 3 - Seagull
- Teil 4: Serie: PHP-Frameworks Teil 3 - Seagull
seagull blickt schon auf eine längere Geschichte zurück. Ursprünglich entwickelt wurde es 2001 von Demian Turner. Dies merkt man unter anderem daran, dass auch PHP 4 noch unterstützt wird. Trotz der aus Framework-Sicht langen Historie besitzt die aktuelle Version von Seagull die vergleichswei...
seagull blickt schon auf eine längere Geschichte zurück. Ursprünglich entwickelt wurde es 2001 von Demian Turner. Dies merkt man unter anderem daran, dass auch PHP 4 noch unterstützt wird. Trotz der aus Framework-Sicht langen Historie besitzt die aktuelle Version von Seagull die vergleichsweise bescheidende Versionsnummer 0.6.6.Diese Version und eine Menge an weiteren Informationen erhalten Sie unter seagullproject. org. Dort ist auch nachzulesen, dass Seagull unter der BSD lizensiert wird. Ein Faktum, das die kommerzielle Verwendung sowohl für Open- als auch für Closed-Source-Projekte erlaubt.
Einrichtung
Seagull kommt als tar.gz-Archiv daher. Nach dem Entpacken sehen Sie die Seagull-Verzeichnisstruktur. Zentral ist hier das Verzeichnis www. Es enthält die Dateien für den Webroot beziehungsweise die Dateien, die im Web sichtbar sind. Alle anderen Verzeichnisse sollten im Produktivsystem nicht von außen verfügbar sein oder zumindest per .htaccess-Datei geschützt werden.
Für die Testumgebung reicht es, das gesamte Archiv in ein Unterverzeichnis zu entpacken - standardmäßig besitzt das Verzeichnis im Archiv den Namen seagull-x.x.x, wobei die x jeweils Platzhalter für die Versionsnummer sind. Sie können aber auch ein neutrales Verzeichnis seagull wählen.
Anschließend rufen Sie das www-Verzeichnis auf. Die Adresse bei einem lokalen Aufruf könnte so aussehen: https://localhost/seagull/www/ Die erste Begrüßung ist für ein Framework ein wenig verwunderlich: Sie landen im Setup und akzeptieren zuerst die Lizenz.
Anschließend folgt eine einfache Möglichkeit der Authentifizierung, ob die setup.php auch wirklich vom Chef der Site aufgerufen wurde. Dazu wird ein Hash erstellt. Diesen müssen Sie in eine txt-Datei mit dem Namen Auth.txt eintragen und auf den Server kopieren. Zu landen hat sie im Hauptverzeichnis der Seagull-Installation, also oberhalb des www-Verzeichnisses.
Dort finden sich noch weitere Textdokumente, die unter anderem zu Installation und Version Auskunft geben. Bevor die AUTH.txt hier nicht eingefügt wurde, geht das Setup nicht weiter.
Die gewünschten php.ini-Einstellungen und Module sind größtenteils unproblematisch beziehungsweise in den meisten Webserverinstallationen verfügbar. Interessant ist der untere Teil. Dort werden die Einstellungen für die PEAR-Umgebung gezeigt. Seagull setzt sehr stark auf die PHP-Erweiterungen von PEAR ().
Diese starke Integration hat den Vorteil, dass das Seagull-Projekt von den umfangreichen Weiterentwicklungen an den einzelnen PEAR-Paketen profitiert. Seagull setzt PEAR-Bibliotheken unter anderem für Datenbanken (DB und Konsorten), Templates (Flexy), Formulare (Quickform und Validierklassen), Mailversand (Mail) und Caching (Cache_Lite) ein.
Datenbank einrichten
Im nächsten Schritt geht es um die Datenbankeinrichtung. Hier setzt Seagull auf MySQL und Postgres - andere Datenbanken wie Oracle oder Max DB sind möglich, aber nicht Teil des Setup. Bei MySQL haben Sie außerdem noch die Wahl, welche Datenbankerweiterung zum Einsatz kommen soll: mysql oder mysqli. Beide stehen in Seagull auch mit der Endung _SGL in einer angepassten Version zur Verfügung. Die Anpassungen sind Teil des PEAR-Pakets DB.

Nach der Eingabe der Zugangsdaten erhalten Sie eine Ansicht, in der Sie eine neue Datenbank für Seagull anlegen können. Für die ersten Tests bietet es sich außerdem an, die Beispieldaten mitzuinstallieren.
In den erweiterten Einstellungen haben Sie noch die Möglichkeit, Übersetzungen in der Datenbank zu speichern. Hier sieht man schon, dass Seagull viele Grundfunktionen eines CMS enthält und auch speziell für die Inhaltsverwaltung geeignet ist. Dies zeigt sich auch daran, dass mit fck ein bekannter Open-Source-Online-Editor integriert ist.