Teil 2: Serie: PHP-Frameworks Teil 4 - Kohana
- Serie: PHP-Frameworks Teil 4 - Kohana
- Teil 2: Serie: PHP-Frameworks Teil 4 - Kohana
- Teil 3: Serie: PHP-Frameworks Teil 4 - Kohana
- Teil 4: Serie: PHP-Frameworks Teil 4 - Kohana
- Teil 5: Serie: PHP-Frameworks Teil 4 - Kohana
Ein Kohana-Controller ist einfach zu implementieren. Das folgende Listing zeigt ein Beispiel für eine solche Controller-Klasse....
Ein Kohana-Controller ist einfach zu implementieren. Das folgende Listing zeigt ein Beispiel für eine solche Controller-Klasse.
class Test_Controller extends
Controller {
public function index() {
echo 'Hallo Welt!';
}
}
Auch auf den zweiten Blick eine unscheinbare Implementierung, die als einzige Abhängigkeit die Klasse Controller des Frameworks besitzt. Wichtig ist zudem die Einhaltung einer Namenskonvention: So muss der Name der Klasse mit _Controller enden. Die Funktionen dieser Klasse können dadurch direkt per URL aufgerufen werden und werden Actions genannt.Eine Kohana-basierte Anwendung besteht nicht nur aus einem Controller, sondern aus vielen verschiedenen. Welcher Controller aufgerufen wird, entscheidet sich anhand der aufgerufenen URL. Der Kohana-Router ruft den entsprechenden Controller anhand frei definierbarer Regeln auf. Die Standardregeln sind dabei eher einfach gehalten. Auch hier kommen eine Reihe von Konventionen zum Einsatz, welche die Entwicklung deutlich vereinfachen.

Wie das folgende Beispiel zeigt, haben bestimmte Teile in einer URL eine bestimmte Bedeutung. Der erste Teil ist der Name des aufzurufenden Controllers.
Der zweite die Action, also die Funktion innerhalb der Klasse, die genutzt werden soll. Anschließend können beliebig viele Parameterwerte folgen. Hier einige Beispiel für eine URL in der Standard-Routing- Schreibweise.
• https://www.domain.de/controller/action/key/value • https://www.domain.de/user/edit/id/1 • https://www.domain.de/blog/delete/id/23
An diesen Beispielen ist zu sehen, dass das Framework auf die normale Schreibweise von Parametern in einer URL verzichtet und alle Elemente durch einen Schrägstrich trennt. Durch die Default-Routing-Regeln von Kohana ergeben sich schon von ganz allein sprechende URLs. Selbstverständlich können diese Verteilungsregeln aber auch an eigene Bedürfnisse angepasst werden.
Das Framework instanziert beim Aufruf einer URL die richtige Controller-Klasse anhand des Namens und nutzt die zugehörige Action-Funktion. Dadurch kann eine Kohana-Anwendung komplett objektorientiert entwickelt werden.
Die aufgerufene Action-Funktion des Controllers kümmert sich anschließend um die weitere Verarbeitung. Sie nutzt dazu in der Regel weitere Klassen der entsprechenden Schichten der Applikation. Meist werden Daten über die Model-Klassen gelesen oder geschrieben und eine Webseite über den View erzeugt.
View
Die View-Teile einer Applikation sind für die visuelle Darstellung der Anwendung und ihrer Daten verantwortlich. Bei Webanwendungen ist das Ergebnis in der Regel eine Seite mit HTML oder Javascript. Die View-Verarbeitung mit Kohana ist recht simpel.
Das Framework verzichtet auf die Verwendung einer hochgezüchteten Template-Engine im Stile von Smarty. Stattdessen wird die View-Datei wie eine normale PHP-Datei verwendet. Die Daten, die innerhalb eines Views ausgegeben werden sollen, werden meist vom Controller zur Verfügung gestellt. Das folgende Beispiel zeigt einen View, der Daten ausgibt, die vom Controller übergeben werden.
<html><head><title><?php echo $titel;?></title></head><body><h1><?php echo $ueberschrift;?></h1><?php echo $text;?></body></html>