Archive for the ‘zend framework’ tag
Zend Framework ou Code Igniter?
A muito tempo atrás, o Felipe Diesel pediu para eu fazer um comparativo entre os frameworks Code Igniter e Zend. Andei comentando sobre ambos, pois no trabalho optamos pelo Code Igniter, enquanto isso, havia optado pelo Zend Framework para tocar alguns projetos pessoais.
É bom lembrar que, quando optamos pelo CI, o Zend Framework ainda estava na versão 0.x, e descartamos a possibilidade de trabalhar nessa versão ainda beta. Mas vamos aos fatos
Code Igniter
Como eu já disse aqui antes, o Code Igniter é muito prático. Inspirado no Ruby on Rails, é possível começar o desenvolvimento da aplicação apenas configurando os diretórios (se você não usar o padrão) e conexão com banco.
Ele implementa o MVC e traz diversas funcionalidades pra facilitar o desenvolvimento, como o padrão Active Record, Scaffolding e bibliotecas como Paginação, Validação, Compactação (zip) e etc. Facilmente extensível com a implementação de plugins e helpers, além de possuir diversas ferramentas como um gerador de código e bibliotecas de interface como o Rapyd, que, na minha opinião, não foi bem integrado ao framework.
Os problemas que eu vejo no Code Igniter são pequenos detalhes, como a falta de padronização de nomenclatura de arquivos e, a pior delas, a desorganização do código do framework.
Zend Framework
Do outro lado, o Zend Framework é o framework PHP mais organizado dos que testei até hoje. Com nomenclatura de classes agregada aos caminhos do arquivo, é muito fácil encontrar o que você procura. Houve também uma preocupação em manter o código simples, pensando em manutenibilidade, que também tornou muito fácil a criação de extensões para o Zend, através de Helpers, Plugins e etc.
Por outro lado, pra você configurar o Zend Framework são necessários alguns passos a mais e um nível de conhecimento maior, porém, feito uma vez, você pode usá-la em todas as aplicações que for desenvolver, realizando apenas pequenos ajustes.
Conclusão
A grande verdade é que tudo depende da aplicação. Eu vejo o Zend Framework como algo mais robusto, para ser utilizado em aplicações que necessitem da organização e da base sólida da Zend, que assina o framework. Do outro lado, está o Code Igniter, ágil e prático.
O que você prefere?
Views complexas com o Zend Framework: Parte 2
Saiu a segunda parte do artigo que fala sobre como trabalhar com Views mais complexas no Zend Framework. No artigo, o autor fala sobre o uso do pattern View Helper, implementado no ZF, pra fazer o trabalho sujo de inserir Views dentro de Views ou colocar um pouco de lógica na camada de visualização.
Aplicações complexas com Zend Framework
Um grupo de desenvolvedores PHP decidiu criar uma aplicação, baseada no exemplo de PetShop do J2EE, utilizando o Zend Framework, do “Hello World” até a aplicação funcional. O bom disso tudo é que eles vão disponibilizar o código fonte e, provavelmente, compartilhar as soluções para as dificuldades encontradas no desenvolvimento.
Você pode ver os primeiros passos no artigo Complex Web Pages with Zend Framework. Se você não entende inglês, ou está afim de ir direto pro código fonte, pode ir também direto pro repositório em: http://w3style.co.uk/devnet-projects/pet-store/trunk/.
No momento em que escrevo este arquivo, eles já disponibilizaram toda a estrutura da aplicação com o “Hello World”. Bom pra visualizar como eles trabalharam as configurações básicas do framework e o bootstrap file do ZF.
A discussão agora é como implementar a camada de Views, já que construir visualizações mais complexas, com chamadas de views compostas pode se tornar um problema. A seguir, cenas do próximo capítulo.
Mais Zend Framework
Continuo lendo sobre o Zend Framework internet à fora. Queria agradecer o Adler, que vez ou outra me dá uma força também.
. Bem, seguem dois links úteis para quem quiser, também, se aventurar no ZF:
- Zend Framework View Notes: Uma boa maneira de trabalhar com Views;
- Reference Manual – Zend Framework Wiki: Manual sempre atualizado pela comunidade, porém este sim é só em inglês;
Estou enfrentando um problema com POST vars e o mod_rewrite. Quando passo um formulário para um endereço tipo http://dominio/controle/metodo/, o array global $_POST vem sempre vazio. Se eu direciono pra http://dominio/index.php funciona normalmente. Até achei uma pessoa com o mesmo problema que eu, mas solução que é bom, até agora nada.
Estou subindo os arquivos pra um servidor Linux pra ver se o problema persiste, já que estou rodando o Apache em uma máquina Windows. Se você já teve algum problema parecido, deixe um comentário para trocarmos algumas idéias, principalmente se tiver a solução. rs.
[Update] No servidor Linux funcionou perfeitamente.
Visitando o Zend Framework
Esses dias, depois de tanto ouvir falar (ou ler?) sobre o Zend Framework, tomei vergonha na cara e fui dar uma pesquisada sobre ele. Pelo que vi até agora, acho que é mais uma ótima opção de framework para o PHP.
Algumas funcionalidades do ZF:
- Documentação detalhada, já sendo traduzida para o Português (valeu Adler);
- Implementa o padrão MVC (Model-View-Controller);
- É possível estender a framework facilmente;
- Componente para conexão com Banco de Dados, que utiliza a PDO;
- Componentes de Autenticação e Controle de Acesso;
- Componente para aplicações multi-linguagem;
- Componentes para Web Services (XmlRpc e Rest);
- Integração com APIs de sites como Flickr, Amazon e Delicious, dentre outros;
- Outras funcionalidades como: Log, Cache, Debug, Json, Email, PDF, Feeds (RSS/Atom) e Validações de Entrada de Dados
Como podemos notar, ela atende desde algumas “necessidades básicas” para um desenvolvimento organizado, como as camadas do MVC ou Logs e Validações, até ferramentas como as integrações com as APIs de grandes serviços da web, oferecendo uma vasta quantidade de componentes para o desenvolvedor.
Estou tendo pouco tempo pra desenvolver alguma coisa, e por enquanto só estou lendo o manual. Porém, já deu pra perceber que, se você está procurando um framework mais consolidado, acho que pode parar de procurar. Como o projeto leva o nome da Zend, acho que as chances de ser descontinuado são menores do que em outros bons projetos que acabam por falta de incentivo ou gente pra contribuir, como o Studs.
Vou ver se consigo fazer uma série de artigos sobre alguns componentes do ZF. Enquanto isso, você pode ver o artigo “Zend Framework para um PHP mais poderoso“, de Felipe Tonello, que dá uma visão geral e os primeiros passos do framework.