1 / 25

Zend Framework

Felipe Ferreri Tonello. Zend Framework. Índice. PHP Zend Framework Instalação Configuração Desenvolvimento. PHP. Linguagem de programação de computadores interpretada Livre Utilizada para gerar conteúdo dinâmico na Web Fácil aprendizado Suporte a Orientação de Objetos(POO) ‏.

melangell
Download Presentation

Zend Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Felipe Ferreri Tonello Zend Framework

  2. Índice • PHP • Zend Framework • Instalação • Configuração • Desenvolvimento

  3. PHP • Linguagem de programação de computadores interpretada • Livre • Utilizada para gerar conteúdo dinâmico na Web • Fácil aprendizado • Suporte a Orientação de Objetos(POO)‏

  4. Aspectos negativos PHP • Repetição de códigos • Layout e Lógica em mesmo arquivo • Não existe padrão de programação • Desenvolvimento lento de sistemas • Díficil manutenção

  5. O que é um Framework • É um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software • conjunto de classes(bibliotecas) específicas • Facilita nossa vida

  6. O que é o ZF • Zend Framework é um simples, poderoso, open-source software framework para o PHP 5 designado a eliminar o tédio de códificar e dar foco ao “peixe grande”. Uma dessas facilidades é o uso do padrão Model-View-Controller(MVC), fazendo seu código ser mais limpo e facil de manutenção.

  7. MVC • Model, View and Controller(Modelo, Visão e Controladores)‏ • Separar o sistema em: • Controllers: Controlam todo o sistema, entradas e saida de dados, comunicação com BD e assim por diante • Viewers: São as saídas de dados, templates • Models: Classes e componentes que o desenvolvedor queira adaptar ao framework

  8. Zend Framework • Segue o padrão MVC • Mantido pela Zend • Muito estável, realizado uma bateria de testes • Comunidade atíva, crescendo • Wiki de desenvolvimento e propostas • Licença segura para empresas(New BSD)‏ • Templates • Validações

  9. Requisitos para o ZF • >=PHP 5.1.4 (com o módulo pdo_mysql habilitado)‏ • >=Apache HTTP Server 2.0(recomendado)‏ • Zend Framework 1.0.1 (versão atual)‏ • MySQL 5.0+, SQLite, PostgreSQL, ODBC e AdoDB

  10. Instalação • Fazer download no: http://framework.zend.com/download • Descompactar: tar zxvf ZendFramework-1.0.1.tar.gz -C ~/ • Copiar a pastar Zend(dentro de library) para a sua pasta “lib”: cp -Rfv Zend/ documentRoot_do_apache/ZF-tutorial/lib/

  11. Padrão de diretórios

  12. Configuração do Apache • Habilitar o rewrite_module, descomentar(retirar o #) das linhas: LoadModule rewrite_module modules/mod_rewrite.so AddModule mod_rewrite.c • Definir o AccessFileName (pode ser no final do arquivo): AccessFileName .htaccess • Setar a opção AllowOverride como All: <directory> Options FollowSymLinks Includes AllowOverride All </directory>

  13. Criando o Bootstrapping • E para isso precisamos criar alguns arquivos .htaccess. • ZF-tutorial/.htaccess • ZF-tutorial/publico/.htaccess • ZF-tutorial/app/.htaccess • ZF-tutorial/lib/.htaccess • Esse esquema de bootstrapping é recomendação dos desenvolvedores do ZF, ok? Motivo de segurança.

  14. Criando o nosso index.php(bootstrap file)‏ • ZF-tutorial/index.php <?php error_reporting(E_ALL|E_STRICT); PHP.ini)‏ setlocale (LC_ALL, ‘pt_BR’); date_default_timezone_set(‘America/Sao_Paulo’); set_include_path(‘.’.PATH_SEPARATOR.‘./lib’ .PATH_SEPARATOR.‘./app/models/’ .PATH_SEPARATOR.get_include_path()); include "Zend/Loader.php"; Zend::loadClass(‘Zend_Controller_Front’); $controlador = Zend_Controller_Front::getInstance(); $controlador->throwExceptions(true); $controlador->setControllerDirectory(‘./app/controllers’); $controlador->dispatch(); // sem fechar tag php ?>

  15. Entendendo o Zend_Controller_Front O ZF usa um sistema de Controllers(Controladores) e Actions(Ações). E isso é setado diretamente na url(lembra do bootstrapping?). Como? Usando o nosso exemplo, no formato http://localhost/ZF-tutorial/index/teste o index é o Controller e o teste é o Action. Outro exemplo, http://localhost/ZF-tutorial/foo/bar o foo é o Controller e o bar é o Action. E quando você não coloca nada? Exemplo, http://localhost/ZF-tutorial/ o Zend_Controller_Front considera como index o Controller e index a Action.

  16. Criando nosso IndexController.php • ZF-tutorial/app/controllers/IndexController.php <?php class IndexController extends Zend_Controller_Action { public function indexAction()‏ { $this->view->titulo = ‘Primeiro Tutorial de Zend Framework’; $this->view->detalhe = ‘Olá Mundo!’; } } //sem fechar tag php ?> denovo

  17. Padrão nos Controllers e Actions • Atenção: Sempre o controller deve levar esse padrão NomeController.php e a classe com o mesmo nome do arquivo. A primeira letra sempre em maiúsculo e o resto minúsculo. • Já os Actions também deve levar esse padrão nomeAction(), sempre minúsculo.

  18. Criando nossos Views • Para criar, precisamos acessar a pasta scripts que está no ZF-tutorial/app/views/. Lá vamos criar uma pasta para cada Controller nosso, no nosso caso iremos criar uma pasta chamada index(por causa do IndexController). Todos os templates para o IndexController devem estar nessa pasta. O mais legal é que o nome do template leva o nome da action.

  19. Criando nossos Views • ZF-tutorial/app/views/scripts/index/index.phtml <html> <head> <title><?php echo $this->escape($this->titulo); ?></title> </head> <body> <?php echo $this->escape($this->detalhe); ?> </body> </html> Agora vamos testar nossa aplicação. Acesse o http://localhost/ZF-tutorial e depois tente http://localhost/ZF-tutorial/index/index Deu na mesma? :)‏

  20. Homework • Criar um zfAction(), no IndexController, com seu respectivo viewer. • http://localhost/ZF-tutorial/index/zf • Iaí, deu certo?

  21. Aplicação proposta • Foi solicitado de um site para agregar informações de uma imobiliária. Os admins poderiam vizualizar, acessar e editar a venda de imóveis. Os clientes poderiam cadastrar-se como interessados em algum imóvel

  22. Aplicação proposta

  23. Aplicação proposta • Atenção: Toda chave primária das tabelas devem levar o nome 'id'. Por pardão o ZF usa 'id', mas isso pode ser modificado posteriormente.

  24. Aplicação proposta • Agora vamos desenvolver a aplicação prosta

  25. Autor • Nome: Felipe Ferreri Tonello • 4 anos de experiencia com PHP • Desenvolvimento com GNU/Linux • Artigos e tutoriais: • felipetonello.com • mxstudio.com.br • webtutoriais.com • gnulinuxbrasil.org

More Related