Você está na página 1de 16

Zend Framework

Introdução
Fábio Milani
fmilani@gmail.com
Zend Framework Overview
• Zend Framework foi concebido no início de 2005, para o
desenvolvimento de aplicações web de código aberto, orientado a
objetos para PHP 5.
• Zend Framework - freqüentemente referido como ZF - é
desenvolvido com o objetivo de simplificar o desenvolvimento web
enquanto promove as melhores práticas na comunidade de
desenvolvedores PHP.
• Zend Framework fornece componentes individuais para muitos
outros requisitos comuns no desenvolvimento de aplicações web:
 autenticação, configuração de aplicações, data caching, filtragem/validação
de dados fornecidos pelo usuário para segurança e integridade de dados,
internacionalização, interfaces para funcionalidades AJAX,
composição/entrega de email, entre outros.
O que é framework?
• Framework é uma estrutura que está para o desenvolvimento de
sistemas como peças pré-fabricadas estão para a construção civil.

• Um dos objetivos de utilizar um framework é não refazer coisas que


já foram feitas antes, e, acima de tudo, não refazer coisas que já
foram feitas da melhor forma possível.

• Outro, também importante, é produzir código que possa ser


reaproveitado, diminuindo o esforço do desenvolvimento.

• Geração de código de fácil manutenção. É sabido que o maior custo


não está na construção de sistemas e sim em sua manutenção ao
longo do tempo.
O que é MVC?
• Segundo a Wikipédia, MVC é um padrão de arquitetura
de software.
• Com o aumento da complexidade das aplicações
desenvolvidas torna-se fundamental a separação entre os
dados (Model) e o layout (View).
• Desta forma, alterações feitas no layout não afetam a
manipulação de dados, e estes poderão ser reorganizados
sem alterar o layout. “
O que é MVC?
O que é MVC?
• Model
 O modelo de uma aplicação é a parte que se preocupa com os dados
específicos a serem mostrados. É geralmente relacionado com a
lógica de negócios de uma aplicação e administra o carregamento e
o salvamento de dados em um banco de dados.
• View
 A view consiste em uma pequena parte da aplicação que é
responsável em mostrar a informação ao usuário. Normalmente, é o
HTML.

• Controler
 O controller amarra o view e o model para garantir que as
informações corretas sejam mostradas na página.
O que é MVC?
• A pasta application é onde colocaremos nossos
módulos do sistema. Nesse caso somente o
‘default’. Abaixo desse modulo será usado 3
pastas, isolando cada uma das camadas.
• A que merece uma atenção maior é a camada da
visão, que neste caso separa os arquivos pelo
mesmo nome do controle, e sua extensão por
padrão é phtml.
• A pasta que será publicada é a AppMVC/html/.
Nela há dois arquivos. Um que ira prepara o
ambiente para a chamada dos controles, o
index.php, e outra que ira redirecionar todas as
requisições para o index.php, o ‘.htaccess’.

• Uma olhada nesses arquivos.


• AppMVC/.htaccess
 RewriteEngine on
 RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Requisitos
• PHP 5.1.4 (ou superior)
• Um servidor web que suporte a funcionalidade de
mod_rewrite (reescrita de URLs).
 Apache – arquivo HTTP.CONF - descomentar a linha:
 LoadModule rewrite_module modules/mod_rewrite.so

• URL sem rewrite


 http://localhost/index.php?curso=1020&aluno=324234
• URL com rewrite
 http://localhost/index/curso/1020/aluno/324234
Obtendo o Zend Framework
• O Zend Framework pode ser baixado de
http://framework.zend.com/download/current/ nos
formatos .zip ou .tar.gz.

• A versão estável e atual é 1.6.


Componentes
• Model-View-Controller (MVC)
 Zend_Controller, Zend_Controller_Action,
Zend_Controller_Dispatcher, Zend_Controller_Plugin,
Zend_Controller_RewriteRouter, Zend_View, Zend_Http_Request,
Zend_Http_Response
• Database
 Zend_Db, Zend_Db_Table
• Internacionalização (i18n) e Localização (l10n)
 Zend_Date, Zend_Locale, Zend_Measure, Zend_Translate
• Autenticação, Autorização e Gerenciamento de Sessões
 Zend_Acl, Zend_Authentication, Zend_Session
Componentes
• Infra-estrutura
 Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log,
Zend_Memory, Zend_Debug, Zend_Environment, Zend_Loader,
Zend_Registry, Zend_Version, Zend_Filter, Zend_Validate
• Mail, Formats, and Search
 Zend_Json, Zend_Pdf, Zend_Mail, Zend_Mime,
Zend_Search_Lucene
• Web and Web Services
 Consuming services: Zend_Feed, Zend_Rest_Client, Zend_Service,
Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client, Exposing
services: Zend_Http_Server, Zend_Rest_Server,
Zend_Server_Documentor, Zend_Server_Reflection,
Zend_Soap_Server, Zend_XmlRpc_Server, Zend_Uri
Estrutura de diretórios
• Comece criando um diretório no diretório raiz do
servidor web chamado demo_app.
• Isto significa que a URL que apontará para a aplicação
será: http://localhost/demo_app.
Estrutura de diretórios
• Crie os seguintes subdiretórios para receber os arquivos
da aplicação:
demo_app/
Inicializando
• O controller do Zend Framework, Zend_Controller é projetado
para dar suporte a websites com urls “limpas”.
• Para alcançar isso, todas as requisições precisam passar por um
único arquivo chamado index.php.
• Crie um arquivo chamado .htaccess no diretório raiz demo_app:

 demo_app/.htaccess
• RewriteEngine on
• RewriteRule .* index.php
• php_flag magic_quotes_gpc off
• php_flag register_globals off
Inicializando
• Porém, requisições para imagens, arquivos JavaScript e
CSS não deverão ser redirecionados para o nosso
arquivo de inicialização.
• Mantendo estes arquivos dentro do subdiretório público,
nós podemos facilmente configurar o Apache para servir
estes arquivos diretamente com outro arquivo .htaccess
em demo_app/public:

 demo_app/public/.htaccess
• RewriteEngine off
Inicializando
• Apesar de não ser estritamente necessário, nós podemos
adicionar mais um par de arquivos .htaccess para
garantir que nossos diretórios application and library
estejam protegidos:

 demo_app/application/.htaccess
• deny from all

 demo_app/library/.htaccess
• deny from all

Você também pode gostar