Pergunta

Eu estou trabalhando em um script site, e atualmente eu tenho um controlador de frente, que determina que a carga (por exemplo, o que módulos / extensões e controladores) com base na URI. Será esta uma boa abordagem? Eu estou usando PHP se o que importa. Eu só estou querendo saber se isso não é o trabalho do controlador de frente ...

Foi útil?

Solução

O método que eu uso realmente envolve dois controladores.

Há um Front Controller que controla a chegada inicial do pedido. Depois, há o Controlador de Página que é específico para a página atual (dependendo da URI). As alças frontal do controlador de carregar o controlador página direita.

A tarefa Controller Page do é acessar o modelo (por DB de acesso) e outras classes para compor os dados para a visualização da página.

Eu diria que o Front Controller nunca deve fazer nada que seja específico para uma URI, e deve permanecer o mais genérico possível para que ele possa ser reutilizado de forma eficiente.

Outras dicas

Isso é o padrão controlador de frente em um poucas palavras e frameworks como CakePHP e Zend (eu acredito ) fazer a mesma coisa (como faz Rails, etc.).

Meu único pensamento seria se você deve ou não delegar carregar módulos e extensões para os controladores que precisam ou referência-los como o controlador de frente geralmente lida com as ações em nível de aplicativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top