Diferença entre módulos, plugins e helpers

157 views
Skip to first unread message

albertguedes

unread,
Jun 12, 2011, 3:41:33 PM6/12/11
to Zend Framework Brasil
Olá, estou postando porque estou tendo uma dificuldade conceitual pra
entender os módulos, plugins e helpers do Zend. Básicamente a dúvida
é:

- qual a a diferença entre cada um deles
- e quando devo usá-los

Porque é simples montar uma classe, jogar na library e chamar em
qualquer parte da aplicação que eu faço, portanto, não sei se módulos
e plugins são nomes diferentes pra mesma coisa, ou se são pra serem
usados especificamente em certas horas.

E o mesmo pros helpers. Sei que esses são mais voltados aos views, mas
também posso realizá-los numa classe em library e chamá-los quando eu
quero.

Como eu sei que essas coisas não foram inventadas a toa, gostaria de
saber antes de poder usá-los ( quem sabe já o nescessito ) o que são,
pra que servem e quando devo usá-los.

Grato pelo auxilio.

jroque

unread,
Jun 12, 2011, 4:14:59 PM6/12/11
to zfbr...@googlegroups.com

Não sou um ás em Zend, mas vou tentar ajudar.

Módulos: Serve para vc criar partes reutilizáveis em uma app. Digamos que vc tem um sistema de blog, de fotos, de microblog e quer disponibilizar para vários clientes, com poucas alterações. Melhor que reescrever ou ficar fazendo gambiarras, o melhor é poder ter 'modulos' prontos, precisando apenas conectar a app padrao. 

Plugins: Alteram o funcionamento padrão do zend, sem ser necessário mecher no core da aplicação. Exemplo, vc pode ter um plugin para tratar algumas variáveis antes de cada requisição, como o pre-dispatch.  Ou um plugin para tornar a autenticação obrigatória.

Helpers: Realmente 'ajudam' a view em tarefas repetitivas. Exemplo, um pequeno trecho de código que deve aparecer em vários pontos da aplicação, ou um 'formatador' de datas e moedas, por exemplo. E helpers são mais simples de trabalhar e criar, sem ser necessário ficar instanciando classes. 

E para todas as outras coisas, como extender a funcionalidade de uma classe do nativa do Zend, vale a pena criar as classes no library.

Digamos que seus controllers tem métodos e variáveis extras, ou seus models são diferentes. Neste caso, para não se repetir (vide DRY) vale a pena extender a classe padrão e personalizar seu código. (melhor que mecher nas classes do Zend, e ter problemas depois.)

Espero ter sido útil.

JRoque Junior
Desenvolvedor WEB
Analista de Informática

(75) 9137-7684
http://jroqueweb.com
Twitter: @jroqueweb




--
Essa mensagem faz parte do grupo "zfbrasil" no Google Groups.
Para escrever neste grupo, envie um email para zfbr...@googlegroups.com
Para se desligar do grupo, envie um email para zfbrasil-u...@googlegroups.com
Mais informações, visite o grupo em http://groups.google.com/group/zfbrasil?hl=pt-BR

Cesar Scur

unread,
Jun 12, 2011, 6:17:07 PM6/12/11
to zfbr...@googlegroups.com

Helpers servem pra injetar funcionalidades nos controllers ou views (dependendo se sāo helpers de view ou controller) sem fazer vc extender a classe base de controller.

Quando isso é util:
Imagina que vc fez todo um sistema e gostaria de a partir de entāo usar um helper. Teria que trocar a classe da qual todos os controllers extendem...

Plugins são conceitualmente bem parecidos, mas na pratica eles são bem diferentes. Permite vc executar uma funcionalidade a um nivel superior do controller, podendo escolher se vai acontecer antes ou depois do controller (existem outros momentos no dispatch para escolher)

Quando é util:
Quando vc tem que controllar logins, se o usuario esta autenticado ou n. Assim vc n precisa fazer isso em todo o seu controller.

Modulo é um conjunto de controllers, views, models, etc de partes da app relacionadas. Agrupar e dividir uma app em modulos facilita o controlle e a organização de por exemplo permissão de acesso.

Quando isso é util:
Em apps grandes, ou em pedaços de apps bastante desacopladas.

Em 12/06/2011 17:15, "jroque" <rok...@gmail.com> escreveu:
>
>
> Não sou um ás em Zend, mas vou tentar ajudar.
>
> Módulos: Serve para vc criar partes reutilizáveis em uma app. Digamos que vc tem um sistema de blog, de fotos, de microblog e quer disponibilizar para vários clientes, com poucas alterações. Melhor que reescrever ou ficar fazendo gambiarras, o melhor é poder ter 'modulos' prontos, precisando apenas conectar a app padrao. 
>
> Plugins: Alteram o funcionamento padrão do zend, sem ser necessário mecher no core da aplicação. Exemplo, vc pode ter um plugin para tratar algumas variáveis antes de cada requisição, como o pre-dispatch.  Ou um plugin para tornar a autenticação obrigatória.
>

> Helpers: Realmente 'ajudam' a view em tarefas repetitivas. Exemplo, um pequeno trecho de código que deve aparecer em vários pontos da aplicação, ou um 'formatador' de datas e moedas, por exemplo. E helpers são mais simples de trabalhar e criar, sem ser necessário ficar instanciando clasrses. 

albertguedes

unread,
Jun 12, 2011, 7:38:02 PM6/12/11
to Zend Framework Brasil
Muito obrigado pelas respostas. Elas me exclareceram bem as idéias.
Fico realmente grato.
Reply all
Reply to author
Forward
0 new messages