Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

montano

MVC, Camadas, Padrões

Recommended Posts

Minha duvida é o seguinte.

 

VIEW: Somente HTML, AJAX, parte grafica e algo de PHP simples para solicitar algo do CONTROL e etc.

CONTROL: Recebe as REQUEST da VIEW e trata elas para oque for preciso.

MODEL: Classes persistentes e estrutura do sistema.

 

 

Eu entendo por isso, mas dae minha duvida é eu fiz meus control´s com classes de tratamento de variaveis e etc, porem eu estancio essa classe no proprio control (ae vem aquilo de bons abitos: deichar somente a classe no arquivo php), minha duvida é eu no control trato as request, mas essa classe de tratamento é estanciada na view?

 

ou entao as classes ficam no model e quem estancia é o control (sem classe que podem vir a ser herdadas)?

ou entao manter oque eu penso sobre MVC, porem tirar as classes do control e criar uma pasta chamada "classes" onde ficaria minhas classes de tratamento, estanciadas do control?

 

 

:S alguem tem algum material que realmente foi escrito por alguem que sabe o MVC, parece que cada topico e cada artigo na NET fala uma coisa diferente, alguns dizem que depende da aplicação, mas MVC nao era para ser um padrao de desenvolvimento?

 

Outra duvida, Desenvolvimento de Camadas é MVC?

 

valeu pessoal, sei que é muita duvida mas agradeço as dicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre sua dúvida, me parece que estas classes de tratamento às quais você se refere são helpers, classes que servem para tratar dados na view, sendo assim, o ideal é usar eles na view.

 

Mas pense também por outro lado: tenho uma aplicação de cadastro de usuários, e preciso converter as duas iniciais do nome para maiúscula. Farei isso num helper (direto na view) ou criarei uma função para isso no model? Isso depende. Se o único lugar em que você vai usar isso é no caso do nome do usuário, ficará melhor usar como uma função do model de usuário, mas se for algo que você usará em vários locais diferentes e não apenas relacionado ao usuário, seria melhor implementar num helper.

 

Desenvolvimento de Camadas é MVC?

Sim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, a maneira que eu faço é instanciar as classes, sejam elas helpers ou models na camada Control. Quando eu preciso usar uma função que está dentro desse helper ou model na View, eu coloco a referência da classe instanciada numa variável que poderá ser acessada pela View.

 

Por exemplo (toscamente inventado):

//Helper:
class FuncoesComuns
{
  public function formata_data() {
     //código...
  }
}

//Camada Control
...
$this->set_variavel['class_funcoes_comuns'] = new FuncoesComuns();
...

//Camada View
...
$class_funcoes_comuns->formata_data();
...

Bom eu uso assim, mas nada me impediria de instanciar direto na View também. Haha, eu sei, deveria ter um padrão né. A regra que eu uso é tentar instanciar a classe uma vez só, se eu precisei usar anteriormente no Control, já aproveito pra colocar numa variável para usá-la na View também, entendeu? Eu procuro reduzir processamentos desnecessários.

 

Se alguém mais puder opinar, melhor...

 

Falou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse helpers sao criadas na VIEW?

isso nao iria contra o padrao MVC que na view nao pode ter "logica de programaçao".

 

no MVC eu só posso usar ou no M ou no V ou no C ? ou tem um tal de DAO que eu nao sei pq é. hhehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o ideal é instanciar no Control, como falei, só que, imagina que voce precisa exibir um resultado de uma consulta na View e você precisa tratar uma data (usando o meu exemplo de antes). Como você vai usar a função "formata_data()"? Ou você instancia a classe "FuncoesComuns()" na View (fungindo da regra das camadas), ou voce instancia no Control e disponibiliza através de uma variável para usá-la na View.

 

O que difere um do outro é a organização, somente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o helper eh usado na view e não feito na view, você pode inserir N utilizacoes de recursos de HELPER em uma view, desde que o dado vá para view e volte pronto. oq você nao pode na view e ficar inserindo milhares de lógicas e tratando dos dados ali, a view precisa de dados prontos, e se o dado soh fica pronto após passar por um helper, você chama esse helper na view sem problema.

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patterns tem alguma coisa a haver com MVC?

 

Estava dando uma lida sobre padroes factory e outros esses padroes podem ser utilizados junto com um framwork? ou o framework ja nos possibilita isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.