Kohana – das schnelle PHP-Framework

Ein PHP-Framework, das schnell ist, gibt es nicht? Gibt es doch! Nämlich Kohana. Das kleine schlanke Framework ist voll in PHP5-OOP geschrieben und war einmal ein Fork von CodeIgniter. Dabei besticht Kohana vor allem dadurch, das man sich den Quelltext angucken kann ohne ein Magengeschwür zu bekommen, im Gegensatz zu anderen Frameworks oder PHP-Applikationen.

Dabei ist es noch nicht einmal selbstverständlich das ein PHP-Framework schnell sein muss. Mein Lieblingsbeispiel ist da inzwischen Magento, das es geschafft hat die Pear, das Zend Framework und bis zum Anschlag XML-Dateien zu verwenden, was in etwas endet was – bin ich mal nett: performanter hätte sein können :) Wobei man auch fair bleiben muss, Magento ist ja im eigentlichen Sinne kein Framework.

Der Einsatz von Frameworks und damit der Einsatz des MVC-Modells wird in der PHP-Welt immer beliebter. Als Beispiel kann da schon mal das Zend Framework herhalten, auf das sich derzeit jede deutsche Agentur als heilende Allzweckwaffe stürzt. CakePHP leistet ähnliches und das bereits genannte CodeIgniter gibt es natürlich auch noch. Alle haben den Nachteil, dass man sich erstmal einarbeiten muss, und am Anfang garantiert alles so macht, das es garantiert die meisten Ressourcen frisst. Eine andere Lösung wäre in der Regel schöner und schneller gewesen. Und so hilft bei Frameworks oft nur der häufige Umgang und die Erfahrung.

Kohana ist per se schnell, schmal und gut überschaubar. Die Lernkurve ist vergleichbar gering und das Konzept hinter dem Framework überzeugt. Dabei erfindet Kohana das Rad im Gegensatz zu anderen Frameworks nicht neu. Zum Beispiel erhält Kohana $_GET und $_POST, auf einen XSS-Schutz braucht man deshalb aber nicht zu verzichten, dies hält Kohana vollkommen transparent. Einen Hinweis auf die wahnsinnig gute Ereignisbehandlung erspare ich euch gerade mal, stattdessen möchte ich noch auf die kaskadierenden Ressourcen hinweisen!

Kaskadierende was? Genau die! :) Kohana baut darauf auf, dass wirklich alles überladen werden kann. Und wenn mehrere Module die gleiche Core-Klasse überladen, ist das auch kein Thema. Denn eine Maxime von Kohana ist die bedingungslose Erweiterbarkeit aller System-Komponenten. Das sieht man zum Beispiel auch in der Session-Verwaltung. Diese unterstützt Treiber und bereits der Core ermöglicht es, die Session-Daten direkt im Cookie, im Filesystem oder in einer Datenbank abzulegen. Ich könnte aber auch einfach einen eigenen Treiber programmieren um zum Beispiel die Daten in CouchDB abzulegen. Das macht zwar nicht wirklich Sinn, aber wenn ich wollte, könnte ich es :)

Wer sich für Kohana interessiert, kann sich hier ein nettes Tutorial anschauen, oder mal auf der deutschen Homepage vorbei schauen. Oder einfach mal Kohana für die Entwicklung des nächsten WordPress-Plugins verwenden.

Am Schluss noch eine kleine Warnung! Kohana 3 ist auf dem Weg und so wie es aussieht, wird es nicht vollkommen abwärts kompatibel sein! Neben einem kompletten Code Rewrite wird Kohana 3 nach meinem Wissen als erstes PHP-Framework anstatt des MVC-Modells das HMVC-Modell verwenden!

Das HMVC-Modell (Hierarchical-Model-View-Controller) in Kohana liegt eine ziemlich geniale Idee zugrunde. In bisherigen Frameworks ist es so, das aufgrund eines Requests im Framework EIN bestimmter Prozess mit EINEM Model, EINEM View und EINEM Controller ausgeführt wird. Im HMVC-Modell kann ein Request gleich mehrere Prozesse auslösen, die miteinander kombiniert werden. Anwendungen werden somit noch modularer und die Wiederverwertbarkeit von Code noch höher!

10 Antworten auf „Kohana – das schnelle PHP-Framework“

  1. Der letzte Kommentar liegt zwar schon etwas zurück… ich möchte mich trotzdem zu wort melden – insb. wegen Deinem einleitenden Satz „Ein PHP-Framework, das schnell ist, gibt es nicht? Gibt es doch!“ – ich arbeite nämlich seit längerem mit dem Open Source rexo (http://rexo.ch) und das ist mit Abstand das schnellste, was ich bis jetzt an PHP Frameworks erlebt hab. Zugegeben: der Quellcode ist ein bisschen wild, aber die Demos haben mich überzeugt und ich stelle seither immer mehr Projekte auf rexo um.

  2. CodeIgniter hab ich mir mittlerweile auch mal genauer angesehen. Bin bisher außerordentlich zufrieden damit und werde demnächst auch ein größeres Projekt damit umsetzen.

  3. Die beiden Frameworks kann man nicht wirklich miteinander vergleichen! In Zend ist man einigermaßen freier wohingegen in Cake durchaus sehr starre Strukturen vorgegeben sind. Der Vorteil von Cake liegt im „bake“! Also: Datenbank anlegen, Cake Shell starten und ein komplettes CRUD liegt fertig programmiert auf der Platte und braucht nur noch angepasst zu werden.

  4. Hi,
    das Framework kannte ich bisher noch nicht. Ich werde es mir mal ansehen. Bei dem Zend Framework gibt es in nächster Zeit übrigens auch einige große Änderungen, so werden zum Beispiel viele Änderungen an den MVC Klassen kommen, ob dies alles abwärtskompatibel bleibt glaub ich eher nicht.

    Ich habe auch schon einige Projekte mit dem Zend Framework erstellt. Ich konnte mich damit jedoch noch nicht anfreunden, da es wirklich extrem überladen ist und teilweise, wie du schon sagst sehr inperformant ist, sodass ich es bei Großprojekten nicht nutzen wollte. Magento ist hier wirklich das beste Beispiel :P .

    CakePHP wollte ich mir in nächster Zeit auch ansehen. Meinst du denn, dass CakePHP auch unperformant ist bzw. sogar vergleichbar mit dem Zend Framework? Mit CakePHP habe ich wie gesagt noch nichts gemacht.

    MfG
    Dominik

  5. Das mit dem
    HMVC-Modell (Hierarchical-Model-View-Controller) hört sich sehr interessant an.

    Vielen Dank für die Meinung und den Text.

    ———–stooni

  6. Hi, schön, daß Kohana so langsam die Fahrt aufnimmt, die Codeigniter (CI) mal hatte aber als Abfallprodukt von EllisLabs ExpressionEngine ja dank schleppender Weiterentwicklung und ORM Integration wieder zum erliegen kam.

    Ich persönlich mag CakePHP vom CodingStyle unf FatModel-ThinController und vom Rails anglehnten Stil her einfach mehr – aber werde mich auch mal wieder mit Kohana beschäftigen. Mit aktiviertem Cache ist CI/Kohana echt sauschnell.

    Einen Blick lohnt auch DooPHP, das sich ja selbst als das schnellste PHP Framework bezeichnet. Wichtig auch, daß osQuantum – der Rewrite von osCommerce auf Kohana geschrieben wird.

    Gruce
    Chris

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.