View
2.218
Download
2
Category
Preview:
Citation preview
Aprenda a preocupar-se com seu negócio utilizando-o
Quem sou eu?
Introdução
Motivação
O que é Zend Framework?
Vantagens
Componentes
Model-View-Controller
Exemplos de utilização
Diego Tremper
Zend Certified Engineer
Entusiasta PHP
Estudante
Atualmente trabalha como desenvolvedor
para ADP Brasil
Frameworks vs. Bibliotecas
Bibliotecas : Conjunto de classes/funções que possuem
abstrações de código reutilizáveis.
Framework: Quase igual, porém, utiliza um princípio
conhecido como Inversão de Controle.
▪ Determina os fluxos de chamadas de sua aplicação
Frameworks tornam o desenvolvimento mais
rápido
Não há a necessidade de reinventar a roda
Que problema você pretende resolver? O do seu
cliente ou o seu?
Garantem entregas em períodos menores ($$$?)
Framework escrito em PHP 5
Concebido em 2005
Open source
Sob New BSD Licence
Usado em muitos projetos web
Filosofia
Extrema Simplicidade
Sem Xmls complexos
Arquitetura “use o que precisar”
Frequentes interações com a comunidade
Arquitetura flexível
Baixo acoplamento entre os componentes
Treimento oficial (Zend)
Certificação oficial (Zend)
Consultoria (Zend)
Farta documentação
Integração com frameworks JavaScript
Dojo, JQuery
Comunidade forte
Wiki
Issue Tracker
Listas de email
Fórums
Padrão descrito em 1979
Model: RN, Dados
View: Interface com usuário
Controller: Processamento e controle dos eventos
ZF possui a implementação concreta deste
padrão
Mapeamento baseado em partes da URL
http://www.example.org/feed/exibir/var/value
Controller : FeedController
Action : FeedController::exibirAction()
Parametros : [var:value]
Possibilidade de implementar rotas
customizadas
Possui modulos de injeção de dependência
Através de Plugins, Action Helpers e View Helpers
Possui interfaces bem definidas para
possibilitar a customização
Como funciona?
Através de uma configuração no mod_rewrite do
apache (.htaccess ) todas as requisições são
enviadas a um arquivo de bootstrap
Este arquivo inicializa o Front Controller que inicia
o roteamento da chamada para o controller que a
atenderá
Estrutura de diretórios
application/controllers/ diretório dos controllers
IndexController.phpmodels/views/
scripts/index/ diretório de view do controller IndexController
index.phtml script de view da action indexActionhelpers/filters/
html/.htaccessindex.php bootstrap
Como funciona?
Ex.: .htacces
RewriteEngine on# direciona todos requests para index.php# com exceção de arquivos com extenção# .js, .ico, .gif, .jpg, .png, .cssRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Como funciona?
Ex.: index.php
<?phperror_reporting( E_ALL | E_STRICT );require_once 'Zend/Loader.php';Zend_Loader::registerAutoload();// diretório dos controllers$appDir = dirname(__FILE__) . '/application';// inicializa processo da requisiçãoZend_Controller_Front::run("$appDir/controllers");
Controller
Os controllers devem inicializar as classes que
processam as lógicas de negócio
Devem atribuir os valores necessários para os scripts
de view
Também podem fazer desvio de chamadas,
delegando o trabalho a outros controllers/actions
Controller
Ex.: http://example.org/index/index/nome/Diego
class IndexController extends Zend_Controller_Action {public function init() {
// método invocado antes de exibirAction()}public function indexAction() {
// inicializa dados que serão utilizados$this->view->saudacao= ‘Bem vindo’;$this->view->nome=
$this->getRequest-getParam(‘nome’);}
}
View
Scripts de view escritos utilizando php + html
Apenas lógicas de apresentação devem estar
presentes nestes scripts
É possivel a criação/utilização de Helpers para o
auxílio da renderização dos dados
View
Ex.: views/scripts/index/index.phtml
<html><body>…
<h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>...</body></html>
View
Ex.: views/scripts/index/index.phtml
<html><body>…
<h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>...</body></html>
Zend Studio for Eclipse
Paga!
Possui perspectivas próprias para criação de projetos utilizando
o framework
Também é possivel utilizar qualquer outro editor de texto
Vi
Textpad
PSPad Editor
PDT
Reference Guide
▪ http://www.zendframework.com/docs/
Comunidade Brasileira
▪ http://www.zfbrasil.com/forum/
Livro escrito por Flávio Lisboa
▪ http://www.novateceditora.com.br/livros/zend/
Zend Developer Zone
▪ http://devzone.zend.com
Guide to Programming with Zend Framework
▪ http://www.zfguide.com/
Perguntas?
Obrigado!!!
Contato: diegotremper@gmail.com
LinkedIn: http://www.linkedin.com/in/diegotremper
Blog: http://www.diegotremper.com
Zend Framework: http://framework.zend.com /
PHP: http://www.php.net
Zend Studio: http://www.zend.com/en/products/studio/
Zend: http://www.zend.com
Recommended