zf básico - 3. quick start

Post on 17-May-2015

1.979 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Mini-curso sobre Zend Framework - Parte 3

TRANSCRIPT

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/

top related