Upload
marcos-bezerra
View
1.980
Download
0
Embed Size (px)
DESCRIPTION
Mini-curso sobre Zend Framework - Parte 3
Citation preview
11
Zend FrameworkZend Framework
Parte III: Criando a primeira Parte III: Criando a primeira aplicaçãoaplicação
22
IntroduçãoIntrodução A classe A classe Zend_ControllerZend_Controller é o é o
coração do sistema MVC baseado no coração do sistema MVC baseado no ZF. ZF.
A classe A classe Zend_Controller_FrontZend_Controller_Front implementa o padrão implementa o padrão Front Front ControllerController, no qual todas as , no qual todas as requisições são interceptadas pelo requisições são interceptadas pelo front controller e encaminhadas para front controller e encaminhadas para seus respectivos Action Controllers, seus respectivos Action Controllers, segundo a URL requisitada. segundo a URL requisitada.
33
Criando a árvore de Criando a árvore de diretóriosdiretórios
Zend/Zend/ application/application/
controllers/ controllers/ IndexController.php IndexController.php models/ models/ views/ views/ filters/ filters/
helpers/helpers/ scripts/scripts/ error/ error/
error.phtmlerror.phtml index/index/
index.phtml index.phtml .htaccess .htaccess public/public/ css/css/ img/img/ js/js/ .htaccess.htaccess library/library/ .htaccess.htaccess
index.phpindex.php
44
Criando as regras de Criando as regras de reescritareescrita
Crie o arquivo ./.htaccess com as Crie o arquivo ./.htaccess com as seguintes entradas:seguintes entradas:
RewriteEngine onRewriteEngine on
RewriteRule .* index.phpRewriteRule .* index.php
php_flag magic_quotes_gpc offphp_flag magic_quotes_gpc off
php_flag register_globals offphp_flag register_globals off
55
Criando as regras de Criando as regras de reescritareescrita
Crie o arquivo ./application/.htaccess Crie o arquivo ./application/.htaccess com a seguinte entrada:com a seguinte entrada:
deny from alldeny from all
66
Criando as regras de Criando as regras de reescritareescrita
Crie o arquivo ./public/.htaccess com Crie o arquivo ./public/.htaccess com a seguinte entrada:a seguinte entrada:
RewriteEngine offRewriteEngine off
77
Criando o BootstrapCriando o Bootstrap
O bootstrap é a página para onde todos as O bootstrap é a página para onde todos as requisições são direcionadas. Crie o requisições são direcionadas. Crie o arquivo ./index.php e adicione:arquivo ./index.php e adicione:
<?php<?php
/**/** * Seta para mostrar os erros* Seta para mostrar os erros * * */*/error_reporting(E_ALL|E_STRICT); error_reporting(E_ALL|E_STRICT);
88
Criando o BootstrapCriando o Bootstrap/**/** * Seta o locale e o timezone* Seta o locale e o timezone * * */*/setlocale (LC_ALL, 'pt_BR');setlocale (LC_ALL, 'pt_BR');date_default_timezone_set('America/Recife');date_default_timezone_set('America/Recife');
/**/** * Seta include path para o funcionamento correto do* Seta include path para o funcionamento correto do * framework* framework * * */*/set_include_path('.' . PATH_SEPARATOR . './library' . set_include_path('.' . PATH_SEPARATOR . './library' .
PATH_SEPARATOR . './application/models/' . PATH_SEPARATOR . './application/models/' . PATH_SEPARATOR . get_include_path());PATH_SEPARATOR . get_include_path());
99
Criando o BootstrapCriando o Bootstrap/**/** * Necessário para carregar qualquer outra classe do* Necessário para carregar qualquer outra classe do * framework* framework * * */*/include "Zend/Loader.php";include "Zend/Loader.php";
/**/** * Carrega o Front Controller* Carrega o Front Controller * * */*/
Zend_Loader::loadClass('Zend_Controller_Front');Zend_Loader::loadClass('Zend_Controller_Front');
1010
Criando o BootstrapCriando o Bootstrap/**/** * Obtém uma instância do Front Controller* Obtém uma instância do Front Controller * * */*/$controlador = Zend_Controller_Front::getInstance();$controlador = Zend_Controller_Front::getInstance();
/**/** * Seta para mostrar exceções* Seta para mostrar exceções * * */*/$controlador->throwExceptions(true);$controlador->throwExceptions(true);
1111
Criando o BootstrapCriando o Bootstrap/**/** * seta o diretório com os controladores da aplicação* seta o diretório com os controladores da aplicação */*/$controlador->setControllerDirectory('./application/controllers');$controlador->setControllerDirectory('./application/controllers');
/**/** * Roda o sistema* Roda o sistema * * */*/$controlador->dispatch();$controlador->dispatch();
/**/** * Encerra o bootstrap sem fechar a tag php.* Encerra o bootstrap sem fechar a tag php. * Evita erros com a chamada à função header().* Evita erros com a chamada à função header(). */*/
1212
Criando o action controller Criando o action controller padrãopadrão
Crie o arquivo Crie o arquivo application/controllers/IndexControlleapplication/controllers/IndexController.php e digite:r.php e digite:
<?php<?php
require_once(‘Zend/Controller/Action.php‘);require_once(‘Zend/Controller/Action.php‘);
class IndexController extends Zend_Controller_Action {class IndexController extends Zend_Controller_Action {
public function indexAction(){public function indexAction(){}}
}}
?>?>
1313
Criando o view scriptCriando o view script Crie o arquivo Crie o arquivo
application/views/scripts/index/index.phtmapplication/views/scripts/index/index.phtml e digite:l e digite:
<!DOCTYPE html<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><html><head><head> <meta http-equiv="Content-Type" content="text/ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />html; charset=utf-8" /> <title>Minha Primeira Aplicação com ZF</title> <title>Minha Primeira Aplicação com ZF</title></head></head><body><body> <h1>Funcionou!</h1> <h1>Funcionou!</h1></body></body>
</html> </html>
1414
Criando o error controllerCriando o error controller
Crie o arquivo Crie o arquivo application/controllers/ErrorControllerapplication/controllers/ErrorController.php e digite:.php e digite:
<?php<?php
require_once('Zend/Controller/Action.php‘);require_once('Zend/Controller/Action.php‘);
class ErrorController extends Zend_Controller_Action {class ErrorController extends Zend_Controller_Action {
public function errorAction(){public function errorAction(){}}
}}
?>?>
1515
Criando o error view scriptCriando o error view script Crie o arquivo Crie o arquivo
application/views/scripts/error/error.phtml e application/views/scripts/error/error.phtml e digite:digite:
<!DOCTYPE html<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><html><head><head> <meta http-equiv="Content-Type" content="text/ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />html; charset=utf-8" /> <title>Erro</title> <title>Erro</title></head></head><body><body> <h1>Ocorreu um erro!</h1> <h1>Ocorreu um erro!</h1> <p><p>Ocorreu um erro.Ocorreu um erro. Por favor, tente novamente.</p> Por favor, tente novamente.</p>
</body></body></html> </html>
1616
ReferênciasReferências
http://framework.zend.com/manual/en/http://framework.zend.com/manual/en/zend.controller.html#zend.controller.qzend.controller.html#zend.controller.quickstartuickstart
http://felipetonello.com/blog/tutoriais-ehttp://felipetonello.com/blog/tutoriais-e-artigos/tutorial-zend-framework/-artigos/tutorial-zend-framework/