Rails-Jünger

Serie: PHP-Frameworks Teil 6 - Akelos

Akelos ist ein PHP-Framework, das sich eng an Ruby on Rails orientiert. Einige Teile wurden vom großen Vorbild sogar direkt portiert. Außerdem besticht Akelos mit vielen automatisierten Skripten zum Generieren von Controllern oder Models.

PHP-Frameworks Teil VI - Akelos

© Archiv

PHP-Frameworks Teil VI - Akelos

Rails-Jünger

Akelos ist ein PHP-Framework, das sich eng an Ruby on Rails orientiert. Einige Teile wurden vom großen Vorbild sogar direkt portiert. Außerdem besticht Akelos mit vielen automatisierten Skripten zum Generieren von Controllern oder Models.

Akelos ist ursprünglich von Bermi Ferrer Martinez nach dem Vorbild von Ruby on Rails entwickelt worden. Dementsprechend ist es auch die Firma des Projektgründers, Bermi Labs (), die die Rechte am Namen innehat und - etwas marktschreierisch - auf der eigenen Website günstige Entwicklungsprojekte ab 20.000 Euro anbietet.

PHP-Frameworks Teil VI - Akelos

© Archiv

Nichtsdestotrotz ist Akelos selbst mit der LGPL unter einer Lizenz veröffentlicht, die keine Zweifel an der Ernsthaftigkeit lässt und das Framework für den juristisch bedenkenlosen Einsatz empfiehlt.

Einrichtung

Startpunkt für die Erkundung von Akelos ist die offizielle Website unter . Im Download-Bereich finden Sie die jeweils stabile Version als tar.gz- oder als zip-Archiv. Eine Empfehlung auf den Download-Seiten überrascht allerdings ein wenig: Dort heißt es, man solle auf XAMPP oder MAMPP als Webserver-Paket setzen.

Hier fehlt ein wenig die Einschränkung, nur zum Testen und Entwickeln, auch wenn das vermutlich so gemeint ist. Praktisch ist es allerdings schon, auf eines der Pakete zu setzen, denn die Dokumentation und die Tutorials beziehen sich in einigen Angaben auch darauf.

PHP-Frameworks Teil VI - Akelos

© Archiv

Warnungen: Die Übergabe als Referenz erfolgt noch im PHP4-Stil.

Besonders fällt hier der häufige Einsatz von Kommandozeilenskripten auf. Grundgerüste für das MVC-Modell aber auch das Scaffolding werden in Akelos am einfachsten per PHP auf Kommandozeilenebene ausgeführt. Dies erinnert stark an das Vorbild Ruby on Rails.

Für die Erstinstallation ist allerdings die Kommandozeile nicht notwendig. Nach dem Download entpacken Sie das Archiv und rufen es auf dem Server direkt auf. Damit startet das Online-Setup. Akelos ist kompatibel mit PHP 4 und 5.

Die Kompatibilität mit PHP 4 zeigt sich beim Setup im ersten Schritt: Sie erhalten eine Menge Warnmeldungen aus den wichtigsten Skripten mit den zentralen MVC-Bestandteilen (AkActionView, AkActionController und AkActiveRecord). Die Warnmeldung weist darauf hin, dass in Funktionsaufrufen Werte als Referenz übergeben werden.

Dies ist in PHP 5 standardmäßig deaktiviert. Hierfür dient die php.ini-Einstellung allow_call_time_pass_reference. Die Warnmeldungen verschwinden, wenn Sie diese Einstellung auf Off ändern:

allow_call_time_pass_reference = On

Im zweiten Installationsschritt müssen Sie wählen, welche Datenbank verwendet wird. Die Standarddatenbank, die Akelos anlegt, enthält schon eine Tabelle für die Sessiondaten und eine Cache-Tabelle. Dementsprechend muss im dritten Schritt diese Standardtabelle angelegt werden.

Dazu kommt, dass Akelos standardmäßig mit drei verschiedenen Umgebungen arbeitet: Development für die Entwicklung, Production für die Live-Site und Tests für das Testing. Das heißt, Akelos verwendet intern schon einen einfachen Staging-Mechanismus. Für jede der Schichten ist eine eigene Datenbank vorgesehen, die im dritten Schritt eingerichtet werden muss. Damit das funktioniert, müssen Sie die Datenbanken schon vorab anlegen.

Es wäre auch möglich, für alle Umgebungen dieselbe Datenbank zu verwenden, für unsere Testanwendung trennen wir das aber sauber auf. Im vierten Installationsschritt wählen Sie die ISO-Codes der verwendeten Sprachen. Diese Einstellung lässt sich jederzeit über die Konfigurationsdatei config.php aus dem config-Verzeichnis von Akelos verändern. Ebenfalls veränderbar ist das Framework-Verzeichnis. In einer Produktivumgebung ist es beispielsweise sinnvoll, die Bestandteile des Frameworks nicht im Webroot verfügbar zu machen.

define('AK_AVAILABLE_LOCALES',
'en,de,de_de');
define('AK_ACTIVE_RECORD_DEFAULT_
LOCALES', 'en,de,de_de');
define('AK_APP_LOCALES', 'en,de,de_
de');
define('AK_PUBLIC_LOCALES', 'en,de,de_
de');
defined('AK_FRAMEWORK_DIR') ? null :
define('AK_FRAMEWORK_DIR', 'C:\Programme\xampp\htdocs\akelos');

Ebenfalls in der Datei config.php einstellbar ist, in welcher Umgebung Sie gerade arbeiten. Standardmäßig ist das die development- Umgebung:

defined('AK_ENVIRONMENT') ? null :
define('AK_ENVIRONMENT', 'development');

Nach Abschluss der Installation sehen Sie nun den aktuellen Standard-Controller. Er verrät selbst, wo er zu finden ist: app/controllers/page_controller.php.app ist dabei das Standardverzeichnis für alle anwendungsrelevanten Teile, auch solche, die Sie selbst generieren. Wenn Sie ihn aufrufen, sehen Sie eine einfache Klasse mit einer Methode index(). Diese Methode ist die sogenannte Aktion. Sie ist allerdings noch leer:

class PageController extends Applica
tionController
{
function index()
{
}
}

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".