Cleto May
Lucas Bodnar
Zend Framework
Problema Muito esforço do desenvolvimento de sistemas está na
manutenção
Aplicações cada vez mais complexas
Desenvolvimento em tempo reduzido
Proposta Permite a reutilização de código
Substituição de parte do código não causa impacto no restante da aplicação
Desenvolvimento rápido
Melhores práticas de desenvolvimento
Histórico Anunciado publicamente pela primeira vez na Zend
Conference (Outubro de 2005)
Mesma época em que Ruby on Rails e Spring Framework estavam ganhando popularidade
Atualmente na versão 1.11
Zend Framework Framework Open Source
Aplicações Web com PHP (5.0)
Código totalmente orientado a objeto
Componentes
Componentes específicos
Autenticação de usuário
Autorização
Zend Framework Implementação MVC Não obrigatório, mas recomendado
Páginas em HTML
Melhores práticas de desenvolvimento para a comunidade PHP
Parceiros IBM
Microsoft
StrikeIron.
Framework “Framework é um conjunto de classes que colaboram
para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” (Fayad e Schmidt)
Framework Utilizado para auxiliar no desenvolvimento de software
Resume funcionalidades em comum
Facilidade na detecção de erros
Eficiência na resolução dos problemas
Otimização de recursos
Concentração na abstração da solução
MVC Padrão da arquitetura de software
Separa as regras de negócio, lógica de apresentação e manipulação dos dados
Vantagens
Boa prática para projetos que envolvem mais de uma pessoa
Facilidade de desenvolvimento
Alterações independentes
MVC
Fonte: http://framework.zend.com/images/manual/d481d625821a97b9a5eb2cec99dca50e-learning.quickstart.intro.mvc.png
MVC Model
Representação interna dos dados
Interface de comunicação com armazenamento (storage)
View
Representa a interface do usuário (UI) com a aplicação
Controller
Gerenciamento de dados
Componentes Componente é um elemento de software utilizado para
encapsular uma série de funcionalidades
Unidade independente
Conjunto de componentes pode formar um sistema
Comunicação a partir de uma ou mais interfaces
Fortemente utilizado no Framework Zend
Componentes Zend Possui uma série de componentes
Componentes específicos
Componentes conceituais
Componentes Zend Model-View-Controller
Pode ser usado para inicio de aplicações com o conceito MVC
Utilizado para separar as habilidades
Exemplos:
Zend_Application, Zend_Application_Bootstrap…
Zend_Controller_Front, Zend_Controller_Action…
Zend_Form
Zend_Layout, Zend_View, Zend_View_Filter…
Componentes Zend Componentes para agilizar desenvolvimento
Possui componentes para substituir a instalação inicial de aplicações
Comece a escrever seu programa e não sua diretório de arquivos
Exemplos:
Zend_CodeGenerator
Zend_Reflection
Zend_Tool_Framework, Zend_Tool_Project
Componentes Zend Database
Não se preocupe com a base de dados
O componente Database se encarrega de aplicar as melhores práticas
Exemplos:
Zend_Db, Zend_Db_Adapter, Zend_Db_Profiler, Zend_Db_Select, Zend_Db_Table
Componentes Zend Outros
Internationalization
Authentication
Zend_Auth
Web Services
Formats
Zend_Pdf
Search
Zend_Search_Lucene
Cases Fox Interactive Media
Varien
Indianapolis Motor Speedway
IBM Software Group
Zend Framework “Extending the art & spirit of PHP, Zend Framework is
based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.” (http://framework.zend.com)
Referência http://framework.zend.com/
http://www.cse.psu.edu/~mcdaniel/cse598i-s10/docs/ZendFramework-Tutorial.pdf
http://pt.wikipedia.org/wiki/Zend_Framework