Zend Framework é uma estrutura de desenvolvimento PHP de código aberto baseada inteiramente em PHP5 desenvolvida pela Zend Company. Ele pode ser usado para desenvolver programas e serviços da Web. Ele usa o padrão de arquitetura MVC (Model-View-Controller) para separar diferentes partes do aplicativo. facilitar o desenvolvimento e manutenção do programa.
ZF2 não é apenas uma atualização irregular como outras estruturas. Em vez disso, ele reescreve completamente todo o código do ZF1.
Vamos dar uma olhada nos novos recursos que o ZF2 trouxe:
1. Modularização (ModuleManager)
Comparado com o ZF1, o ZF2 suporta nativamente o conceito de módulos. Qualquer programa PHP de terceiros pode ser transformado em um módulo Zend, desde que siga os padrões de codificação e estrutura de código do Zend. Atualmente, um lote de módulos experimentais foi lançado (ver Módulos ZF2). Existem muitos projetos excelentes como o Doctrine ORM.
É previsível que, à medida que o ZF2 amadurece lentamente, surjam cada vez mais módulos opcionais. É possível que o desenvolvimento futuro de projetos baseados no ZF2 seja tão fácil e simples quanto blocos de construção.
2. Orientado a eventos (EventManager)
Nos programas tradicionais, os códigos são executados em uma sequência linear, por isso muitas vezes é difícil separar algumas funções em um componente ou módulo durante o desenvolvimento.
Orientado a eventos, ou gancho, altera a maneira como os programas comuns são executados de maneira simplificada. Após a aplicação orientada a eventos, o programa será executado de maneira semelhante a um "evento registrado" => "evento acionado", que pode ser executado. sem afetar Com o código do programa original, é fácil adicionar nova lógica de negócios em qualquer local, tornando o desenvolvimento do projeto extremamente flexível.
3. Gerente de Serviços
O conceito de gerenciador de serviços vem da ideia de programação do “padrão localizador de serviços”. Esta ideia defende a extração de cada função independente do programa como um "serviço". Cada serviço pode ser ativado de forma independente. Somente quando o serviço for chamado, o programa relacionado ao serviço será iniciado.
Este é o segredo da melhoria de desempenho do ZF2. A ideia do ServiceLocator está refletida em todos os lugares no processo de inicialização do MVC do ZF2. As chamadas para módulos de função são extremamente "mesquinhas", o que certamente será uma grande surpresa para os desenvolvedores que já tiveram problemas. com o desempenho de Zend.
4. Injeção de Dependência
A injeção de dependência é amplamente usada nas principais estruturas Java e pode desacoplar efetivamente aplicativos de grande escala. A introdução do Di no ZF2 passou por repetidas considerações e compensações. Mesmo depois de entrar no estágio beta, o Di ainda era usado como solução básica de implementação para o ZF2, e toda a configuração do Mvc era baseada no Di. No final, para evitar cair no atoleiro da programação de metadados (Metaprogramação) que Di pode causar, Di é usado apenas como a implementação inferior do ZF2 e o ServiceManager é adicionado à camada superior. Os desenvolvedores comuns não precisam ser expostos ao nível Di ao usar o ZF2. No entanto, isso não impede que o DI exista e funcione como um excelente componente PHP.
5. Programação social
O código do ZF2 está totalmente hospedado no Github. Com o excelente design do Github, qualquer pessoa pode facilmente participar da construção do projeto ZF2 através do fork, e até mesmo enviar novas funções do módulo. O autor AlloVince também ajudou a equipe Zend a corrigir alguns bugs e descobriu que a equipe Zend respondeu muito rapidamente (nunca mais de 24 horas) e dedicou um tempo para responder aos comentários com seriedade. Portanto, participar do projeto ZF2 é uma boa opção para participar do projeto de código aberto PHP.