
Mit phpWebSite zur perfekten Homepage
12. November 2013
WebsiteBaker
18. November 2013
Mit phpWebSite zur perfekten Homepage
12. November 2013
WebsiteBaker
18. November 2013Geschmeidig wie eine Möwe – Seagull besticht durch elegantes Framework
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 xjeweils 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.
Ein erster Blick
Die Startseite zeigt einige interessante Funktionalitäten: Sie haben hier die Wahl zwischen verschiedenen Layouts und können schon die Sprache umschalten. Dies wirkt sich allerdings nur auf einige Funktionalitäten wie den Login-Screen aus. Änderungen an Layout oder Sprache spiegeln sich im URL-Schema wieder. Die Standardsite ist aktuell unter:
Die Struktur der URL ist dabei folgendermaßen: Nach der Domain und dem Unterverzeichnis folgt der Name des Front-Controllers. Dieser nimmt alle Aufrufe entgegen. Der Name kann natürlich variieren, index.php ist der Standard-Front-Controller. Anschließend folgt der Modulname, in diesem Beispiel default. Das sind die minimal notwendigen Informationen.
Für die Registrierung sieht die URL so aus: . Hier folgt nach dem Modul user der sogenannte Manager register. Alternativ könnte beim Einloggen zum Beispiel auch login der Manager sein.
Die Module dafür finden Sie im Seagull-Verzeichnis unter modules. Jedes Modul besitzt ein eigenes Verzeichnis mit seinem Namen. Diese URL-Konvention wird von Seagull automatisch umgesetzt.
Eigene Module
Seagull entfaltet seine volle Wirkung, wenn Sie auf die umfangreichen Basisfunktionen setzen und diese mit eigenen Modulen erweitern. Dazu haben Sie im Backend die Möglichkeit, über den Module Generator ein neues Modul anzulegen. In unserem Fall soll das ein einfaches Modul sein, das eine Liste mit Frameworks anzeigt.
Fazit
Seagull besticht vor allem durch enge PEAR-Integration und die ausgereiften CMS-Funktionen. Die Möwe eignet sich damit für Entwickler, die die Arbeit mit PEAR bereits gewohnt sind und für alle, die sich ohne allzu viel Coding ein einfaches CMS wünschen.





