zf básico - 3. quick start

16
1 Zend Framework Zend Framework Parte III: Criando a Parte III: Criando a primeira aplicação primeira aplicação

Upload: marcos-bezerra

Post on 17-May-2015

1.979 views

Category:

Education


0 download

DESCRIPTION

Mini-curso sobre Zend Framework - Parte 3

TRANSCRIPT

Page 1: ZF Básico - 3. Quick Start

11

Zend FrameworkZend Framework

Parte III: Criando a primeira Parte III: Criando a primeira aplicaçãoaplicação

Page 2: ZF Básico - 3. Quick Start

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.

Page 3: ZF Básico - 3. Quick Start

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

Page 4: ZF Básico - 3. Quick Start

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

Page 5: ZF Básico - 3. Quick Start

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

Page 6: ZF Básico - 3. Quick Start

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

Page 7: ZF Básico - 3. Quick Start

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);

Page 8: ZF Básico - 3. Quick Start

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());

Page 9: ZF Básico - 3. Quick Start

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');

Page 10: ZF Básico - 3. Quick Start

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);

Page 11: ZF Básico - 3. Quick Start

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(). */*/

Page 12: ZF Básico - 3. Quick Start

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(){}}

}}

?>?>

Page 13: ZF Básico - 3. Quick Start

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>

Page 14: ZF Básico - 3. Quick Start

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(){}}

}}

?>?>

Page 15: ZF Básico - 3. Quick Start

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>

Page 16: ZF Básico - 3. Quick Start

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/