Kohana ist ein PHP-5-Framework, bei dem die Model-View-Controller-Architektur zum Einsatz kommt. Ziel ist es sicher, schlank und leicht bedienbar zu sein.
Eigenschaften
- Sehr sicher
- Besonders schlank
- Einfach zu erlernen
- Setzt das MVC-Muster ein
- 100% kompatibel zu UTF-8
- Lose gekoppelte Architektur
- Besonders leicht erweiterbar
Technologie
- Strenge PHP-5-OOP
- Einfache Datenbankabstraktion mittels SQL-Helfern
- Mehrere Session-Treiber (Nativ, Datenbank und Cookies)
- Mächtige Ereignisbehandlung erlaubt dynamisch kleine Änderungen
- Basierte ursprünglich auf CodeIgniter
Was macht Kohana so besonders?
Auch wenn Kohana viele bekannte Konzepte und Entwurfsmuster einsetzt, gibt es dennoch einige Dinge, die Kohana hervorheben:
- Geführt von einer Comunity und nicht einem Unternehmen. Die Entwicklung Kohanas wird von engagierten Menschen angetrieben, die ein Framework für schnelle und leistungsstarke Lösungen brauchen.
- Strenge PHP-5-OOP. Bietet viele Vorteile: visibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons.
- Besonders schlank. Kohana hängt von keinen PECL-Erweiterungen oder PEAR-Bibliotheken ab. Große, monolithische Bibliotheken werden vermieden und optmierte Lösungen bevorzugt.
- GET-, POST-, COOKIE-, und SESSION-Arrays funktionieren, wie gewohnt. Kohana beschränkt nicht den Zugriff auf globale Daten, sondern bietet deren Filterung sowie XSS-Schutz an.
- Echtes auto-loading von Klassen. Klassen werden geladen, sobald diese in ihrer Applikation gebraucht werden.
- Keine Namensraum-Konflikte. Allen Klassen sind Suffixe angehängt, um ähnliche Namen innerhalb von Komponenten zu erlauben, so dass eine einheitliche API entsteht.
- Kaskadierte Ressourcen erlauben einmalige Erweiterbarkeit. Nahezu jeder Bestandteil in Kohana kann überladen oder erweitert werden, ohne System-Dateien bearbeiten zu müssen. Module erlauben es Plugins mit mehreren Dateien zu Ihrer Applikation transparent hinzuzufügen.
- Treiber-Bibliotheken und konsistente API. Bibliotheken können verschiedene "Treiber" nutzen, um externe APIs transparent zu verarbeiten. Es gibt beispielsweise verschiedene Möglichkeiten eine Session zu speichern (Nativ, Datenbank und Cookies), jedoch wird das selbe Interface für alle Treiber benutzt. Dies stellt sicher, dass neue Treiber für vorhandene Bibliotheken entwickelt werden können, was die Konsistenz und Transparenz des API erhält.
- Mächtige Ereignisbehandlung. Ereignisbehandlung im Observer-Stil ermöglicht ein sehr hohes Anpassungspotenzial.
- Rasanter Entwicklungszyklus. Rasante Entwicklung ermöglicht eine schnellere Reaktion auf Fehlermeldungen und Wünsche der Benutzer.