Zend Controller is a utility included within the Zend Framework’s Model-View-Controller (MVC) system that is used in creating Zend applications. MVC is a software architecture composed of three different interacting components. In a nutshell, the model is the state-changing data, the view outputs the data in the user interface and the controller manipulates a view’s presentation of the model. It is a lightweight and flexible tool that can provide a system architecture that follows the common code conventions and layout.
Its workflow is composed of a number of components:
• Front – It interprets of the FrontController pattern that processes requests from the server and appoints requests to the ActionControllers.
• Request Abstract (Request Object) – It is the request environment that provides set and get controller methods, request parameters and action names. It determines whether the action was performed by the dispatcher.
• Router Interface – It basically assigns routers. It determines which controller should process the request.
• Dispatcher Interface – It assigns dispatchers. It pulls out controllers and action names and map them to a class and to a controller class action method.
• Action – It is a class that controllers use to process requests. It contains several action methods.
• Response Abstract – It assigns the response class that will collect and return responses (headers and body content) made by the action controllers.