Changes between Version 9 and Version 10 of WF/camadacontroller
- Timestamp:
- 07/08/08 09:25:56 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WF/camadacontroller
v9 v10 51 51 }}} 52 52 53 Neste exemplo, a função run() recebe como parâmetro a ação a ser executada, e o método dispatch() está encarregado de executar a função de controle correspondente. Assim, se for passada a ação 'salvar' será executado o método Salvar() desta mesma classe. Antes disto, porém foi realizada a conexão com o banco de dados, através do comando $this->model->DAO->connect(), mas isto é opcional.53 Neste exemplo, o método run() recebe como parâmetro a ação a ser executada, e o método dispatch() está encarregado de executar o método de controle correspondente. Assim, se for passada a ação 'salvar' será executado o método salvar() desta mesma classe. Antes disto, porém foi realizada a conexão com o banco de dados, através do comando $this->model->DAO->connect(), mas isto é opcional. 54 54 55 55 Caso nenhuma ação seja recebida, será executado o método !__default(), também definido nesta classe. 56 56 57 Note que para cada ação que for necessária na atividade, deverá existir um a função correspondente na camada Controller.57 Note que para cada ação que for necessária na atividade, deverá existir um método correspondente na camada Controller. 58 58 59 Analisando a função Salvar(), vemos que a mesma faz uso da camada Model para executar a operação de salvamento (negócio) e caso obtenha sucesso irá carregar os dados na camada View e a seguir definir qual o template a serusado para mostrar os dados.59 Analisando o método salvar(), vemos que o mesmo faz uso da camada Model para executar a operação de salvamento (negócio) e caso obtenha sucesso irá carregar os dados na camada View e a seguir definir qual o template será usado para mostrar os dados. 60 60 61 Tudo que foi falado até aqui sobre a camada Controller está contido no escopo da atividade, mas note que na definição da classe Controller, existe uma heran ca de outra classe, representado pela cláusula 'extends Controller'. Isso significa que existe uma classe superior (pai) da qual a classe em questão é filha. Na classe pai existem métodos que são comuns a todos as classes Controller das atividades. Esta maneira de programar por objetos, com herança, é fundamental para evitar a repetição de código.61 Tudo que foi falado até aqui sobre a camada Controller está contido no escopo da atividade, mas note que na definição da classe Controller, existe uma herança de outra classe, representado pela cláusula 'extends Controller'. Isso significa que existe uma classe superior (pai) da qual a classe em questão é filha. Na classe pai existem métodos que são comuns a todos as classes Controller das atividades do processo em questão. Esta maneira de programar por objetos, com herança, é fundamental para evitar a repetição de código. 62 62 63 63 Continuando com o exemplo, teremos uma classe Controller, a nível de processo, cujo código está exemplificado a seguir. Esta classe também fica armazena no diretório 'code', e nome do arquivo deve seguir o formato class.Controller.inc.php