Summary
In symfony, the controller layer is split into two parts: the front controller, which is the unique entry point to the application for a given environment, and the actions, which contain the page logic. An action has the ability to determine how its view will be executed, by returning one of the sfView constants. Inside an action, you can manipulate the different elements of the context, including the request object (sfRequest) and the current user session object (sfUser).
No Symfony, a camada controller é dividida em duas partes: o front controller, que é o único ponto de entrada para a aplicação application no ambiente, e as actions, que contém a página lógica. Uma action tem a capacidade de determinar como a view será executada, retornando através da constante sfView. Dentro da action, você poderá manipular diferentes elementos de um contexto, incluindo o objeto request 'sfRequest' e a sessão do usuário atual 'sfUser'.
Combining the power of the session object, the action object, and the security configuration provides a complete security system, with access restriction and credentials. Special validate() and handleError() methods in actions allow handling of request validation. And if the preExecute() and postExecute() methods are made for reusability of code inside a module, the filters authorize the same reusability for all the applications by making controller code executed for every request.
Combinando o poder do objeto session, objeto action, e a configuração de segurança haverá um completo sistema de segurança, com restrição de acesso e credenciais. Os métodos especiais 'validate()' e 'handleError()' nas actions permite manipular a requisição de validação. E se os métodos 'preExecute()' e 'postExecute()' forem códigos reutilizáveis dentro do módulo, os filtros autorizam o mesmo reuso para toda a aplicação , fazendo o código executado pelo controlador para todas as requisições.