Welcome to the Cookbook

loading...

3.5.2 Der App Controller

Wie bereits in der Einführung angegeben, ist die AppController-Klasse die Elternklasse aller application controller. AppController selbst erweitert die Controller-Klasse, welche in der CakePHP core Bibliothek eingebunden ist. Deshalb wird AppController in /app/app_controller.php folgendermaßen definiert:

<?php
class AppController extends Controller {
}
?>
  1. <?php
  2. class AppController extends Controller {
  3. }
  4. ?>

Kontroller, Attribute und Methoden, welche im AppController erstellt wurden, werden in allen deinen application controller verfügbar sein. Dies ist die ideale Stelle, um Code zu erstellen, der für alle deine Kontroller gleich ist. Components (welche du später genauer kennen lernen wirst) werden am besten für Code genützt, der in einigen (aber nicht unbedingt allen) Kontrollern verwendet wird.

Während normale objektorientierte Vererbungsregeln gelten, leistet CakePHP bei speziellen Kontroller Attributen zusätzliche Arbeit, wie z.B. bei den Listen der Components oder Helpers, die von einem Kontroller genutzt werden. In diesem Fall werden AppController Werte-Arrays mit den Kinderkontroller Klassenarrays gemischt.

CakePHP mischt folgende Variablen des AppController zu denen deines application controller:

  • $components
  • $helpers
  • $uses

Bitte denke auch daran, AppController Callbacks innerhalb der Kinderkontroller Callbacks aufzurufen, um beste Ergebnisse zu erzielen:

function beforeFilter(){
	parent::beforeFilter();
}
  1. function beforeFilter(){
  2. parent::beforeFilter();
  3. }