Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Der Controller enthält die Anwendungslogik der Applikation und kontrolliert den Ablauf der Benutzerinteraktion. Ein Controller definiert eine Reihe von möglichen Actions gegenüber einer oder mehreren Model-Klassen und bietet zu diesem Zweck eine Reihe von Schnittstellen, die in der Regel über ein View (in Form eines Links oder eines Formulars) angesprochen werden. Ein Controller regelt also die Zusammenarbeit von Model und View, indem er die Anfragen an die Schnittstellen verwaltet und entsprechend an das Model weiterleitet. Das Ergebnis einer Anfrage wird dann in einem neu generierten View an den User zurückgeschickt.
Der Controller ist bei einer Webanwendung ein Stück PHP-Code, der über eine HTTP-Anfrage aufgerufen wird. Jede Schnittstelle, in CakePHP Action genannt, entspricht einer Methode in der Controller-Klasse, die über eine URL direkt angesprochen werden kann. Das Framework routet diese Anfrage automatisch an den korrekten Controller weiter und sorgt dafür, dass eventuelle Parameter in der Funktion zur Verfügung stehen.