25
Zend Framework Felipe Ferreri Tonello

Zend Framework Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Embed Size (px)

Citation preview

Page 1: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Zend Framework

Felipe Ferreri Tonello

Page 2: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Índice

PHP Zend Framework Instalação Configuração Desenvolvimento

Page 3: Zend Framework  Felipe Ferreri Tonello. Í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)

Page 4: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 5: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 6: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 7: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 8: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 9: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 10: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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/

Page 11: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Padrão de diretórios

Page 12: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Configuração do Apache

Habilitar o rewrite_module, descomentar(retirar o #) das linhas:

LoadModule rewrite_module modules/mod_rewrite.soAddModule mod_rewrite.c Definir o AccessFileName (pode ser no final

do arquivo):AccessFileName .htaccess Setar a opção AllowOverride como All:<directory>Options FollowSymLinks IncludesAllowOverride All</directory>

Page 13: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 14: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Criando o nosso index.php(bootstrap file)

ZF-tutorial/index.php<?phperror_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 ?>

Page 15: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 16: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Criando nosso IndexController.php

ZF-tutorial/app/controllers/IndexController.php<?phpclass 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

Page 17: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 18: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 19: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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? :)

Page 20: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Homework

Criar um zfAction(), no IndexController, com seu respectivo viewer.

http://localhost/ZF-tutorial/index/zf Iaí, deu certo?

Page 21: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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

Page 22: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Aplicação proposta

Page 23: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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.

Page 24: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

Aplicação proposta

Agora vamos desenvolver a aplicação prosta

Page 25: Zend Framework  Felipe Ferreri Tonello. Índice PHP Zend Framework Instalação Configuração Desenvolvimento

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