5.5 Request Handling
Zusätzliche Informationen über die HTTP-Requests werden in CakePHP über die RequestHandler-Komponente eingeholt. Durch den tieferen Einblick in die Header kann man u.a. einen AJAX-Request von einem normalen Request unterscheiden, vom Client akzeptierte Content-Typen herausfinden oder auch automatisch das Layout der aktuellen Dateiendung anzupassen, sofern gewünscht.
Der RequestHandler unterscheidet schon standardmäßig AJAX-Requests von normalen Requests, er greift dazu auf den HTTP-X-Requested-With Header zurück, den viele Javascript-Libraries benutzen.
Im Zusammenspiel mit Router::parseExtensions() wird der RequestHandler automatisch das Layout und die View-Files dem gewünschten Typ anpassen - nicht nur das, wenn ein Helper existiert, der den gleichen Namen wie die Dateiendung trägt, wird er der Helper-Liste des Controllers hinzugefügt. Zu guter Letzt: an Controller gepostete XML-Daten werden automatisch in ein XML-Objekt geparst und Controller::data hinzugefügt (was natürlich unter einem Model gespeichert werden kann). Wie gehabt muß die RequestHandler-Komponente über das $components-Array inkludiert werden, um es zu benutzen.
<?php
class WidgetController extends AppController {
var $components = array('RequestHandler');
//Der Rest des Controllers
}
?>
<?phpclass WidgetController extends AppController {var $components = array('RequestHandler');//Der Rest des Controllers}?>


























