ZF Básico - 3. Quick Start

2,130 views
2,069 views

Published on

Mini-curso sobre Zend Framework - Parte 3

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,130
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
162
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ZF Básico - 3. Quick Start

  1. 1. Zend Framework Parte III: Criando a primeira aplicação
  2. 2. Introdução <ul><li>A classe Zend_Controller é o coração do sistema MVC baseado no ZF. </li></ul><ul><li>A classe Zend_Controller_Front implementa o padrão Front Controller , no qual todas as requisições são interceptadas pelo front controller e encaminhadas para seus respectivos Action Controllers, segundo a URL requisitada. </li></ul>
  3. 3. Criando a árvore de diretórios <ul><li>Zend/ </li></ul><ul><ul><li>application/     controllers/          IndexController.php     models/     views/          filters/ </li></ul></ul><ul><ul><li> helpers/ </li></ul></ul><ul><ul><li> scripts/ error/ </li></ul></ul><ul><ul><li>error.phtml </li></ul></ul><ul><ul><li>             index/     index.phtml  </li></ul></ul><ul><ul><li>.htaccess    </li></ul></ul><ul><ul><li>public/ </li></ul></ul><ul><ul><li>css/ </li></ul></ul><ul><ul><li>img/ </li></ul></ul><ul><ul><li>js/ </li></ul></ul><ul><ul><li>.htaccess </li></ul></ul><ul><ul><li>library/ </li></ul></ul><ul><ul><li>.htaccess index.php </li></ul></ul>
  4. 4. Criando as regras de reescrita <ul><li>Crie o arquivo ./.htaccess com as seguintes entradas: </li></ul><ul><li>RewriteEngine on </li></ul><ul><li>RewriteRule .* index.php </li></ul><ul><li>php_flag magic_quotes_gpc off </li></ul><ul><li>php_flag register_globals off </li></ul>
  5. 5. Criando as regras de reescrita <ul><li>Crie o arquivo ./application/.htaccess com a seguinte entrada: </li></ul><ul><ul><li>deny from all </li></ul></ul>
  6. 6. Criando as regras de reescrita <ul><li>Crie o arquivo ./public/.htaccess com a seguinte entrada: </li></ul><ul><ul><li>RewriteEngine off </li></ul></ul>
  7. 7. Criando o Bootstrap <ul><li>O bootstrap é a página para onde todos as requisições são direcionadas. Crie o arquivo ./index.php e adicione: </li></ul><ul><li><?php </li></ul><ul><li>/** </li></ul><ul><li>* Seta para mostrar os erros </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>error_reporting(E_ALL|E_STRICT); </li></ul>
  8. 8. Criando o Bootstrap <ul><li>/** </li></ul><ul><li>* Seta o locale e o timezone </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>setlocale (LC_ALL, 'pt_BR'); </li></ul><ul><li>date_default_timezone_set('America/Recife'); </li></ul><ul><li>/** </li></ul><ul><li>* Seta include path para o funcionamento correto do </li></ul><ul><li>* framework </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>set_include_path('.' . PATH_SEPARATOR . './library' . PATH_SEPARATOR . './application/models/' . </li></ul><ul><li>PATH_SEPARATOR . get_include_path()); </li></ul>
  9. 9. Criando o Bootstrap <ul><li>/** </li></ul><ul><li>* Necessário para carregar qualquer outra classe do </li></ul><ul><li>* framework </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>include &quot;Zend/Loader.php&quot;; </li></ul><ul><li>/** </li></ul><ul><li>* Carrega o Front Controller </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>Zend_Loader::loadClass('Zend_Controller_Front'); </li></ul>
  10. 10. Criando o Bootstrap <ul><li>/** </li></ul><ul><li>* Obtém uma instância do Front Controller </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>$controlador = Zend_Controller_Front::getInstance(); </li></ul><ul><li>/** </li></ul><ul><li>* Seta para mostrar exceções </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>$controlador->throwExceptions(true); </li></ul>
  11. 11. Criando o Bootstrap <ul><li>/** </li></ul><ul><li>* seta o diretório com os controladores da aplicação </li></ul><ul><li>*/ </li></ul><ul><li>$controlador->setControllerDirectory('./application/controllers'); </li></ul><ul><li>/** </li></ul><ul><li>* Roda o sistema </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>$controlador->dispatch(); </li></ul><ul><li>/** </li></ul><ul><li>* Encerra o bootstrap sem fechar a tag php. </li></ul><ul><li>* Evita erros com a chamada à função header(). </li></ul><ul><li>*/ </li></ul>
  12. 12. Criando o action controller padrão <ul><li>Crie o arquivo application/controllers/IndexController.php e digite: </li></ul><ul><li><?php </li></ul><ul><li>require_once(‘Zend/Controller/Action.php‘); </li></ul><ul><li>class IndexController extends Zend_Controller_Action { </li></ul><ul><li>public function indexAction(){ } </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul>
  13. 13. Criando o view script <ul><li>Crie o arquivo application/views/scripts/index/index.phtml e digite: </li></ul><ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> </li></ul><ul><li><html> <head>   <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; />   <title>Minha Primeira Aplicação com ZF</title> </head> <body>     <h1>Funcionou!</h1> </body> </li></ul><ul><li></html> </li></ul>
  14. 14. Criando o error controller <ul><li>Crie o arquivo application/controllers/ErrorController.php e digite: </li></ul><ul><li><?php </li></ul><ul><li>require_once('Zend/Controller/Action.php‘); </li></ul><ul><li>class ErrorController extends Zend_Controller_Action { </li></ul><ul><li>public function errorAction(){ } </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul>
  15. 15. Criando o error view script <ul><li>Crie o arquivo application/views/scripts/error/error.phtml e digite: </li></ul><ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> </li></ul><ul><li><html> <head>   <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; />   <title>Erro</title> </head> <body>     <h1>Ocorreu um erro!</h1> <p> Ocorreu um erro.  Por favor, tente novamente.</p> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  16. 16. Referências <ul><li>http://framework.zend.com/manual/en/zend.controller.html#zend.controller.quickstart </li></ul><ul><li>http://felipetonello.com/blog/tutoriais-e-artigos/tutorial-zend-framework/ </li></ul>

×