Zend Framework - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Zend Framework

Description:

Lilac title area and left border with three blue-green accent elements on left border, gray background – PowerPoint PPT presentation

Number of Views:282
Avg rating:3.0/5.0
Slides: 26
Provided by: FelipeT
Category:
Tags: framework | sqlite | zend

less

Transcript and Presenter's Notes

Title: Zend Framework


1
Zend Framework
  • Felipe Ferreri Tonello

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
  • gtPHP 5.1.4 (com o módulo pdo_mysql habilitado)?
  • gtApache 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/downl
    oad
  • 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_apa
    che/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
  • ltdirectorygt
  • Options FollowSymLinks Includes
  • AllowOverride All
  • lt/directorygt

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
  • lt?php
  • error_reporting(E_ALLE_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"
  • ZendloadClass(Zend_Controller_Front)
  • controlador Zend_Controller_FrontgetInstance(
    )
  • controlador-gtthrowExceptions(true)
  • controlador-gtsetControllerDirectory(./app/contro
    llers)

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
  • lt?php
  • class IndexController extends Zend_Controller_Acti
    on
  • public function indexAction()?
  • this-gtview-gttitulo Primeiro Tutorial de
    Zend Framework
  • this-gtview-gtdetalhe Olá Mundo!
  • //sem fechar tag php ?gt 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
  • lthtmlgt
  • ltheadgt
  • lttitlegtlt?php echo this-gtescape(this-gttitulo)
    ?gtlt/titlegt
  • lt/headgt
  • ltbodygt
  • lt?php echo this-gtescape(this-gtdetalhe) ?gt
  • lt/bodygt
  • lt/htmlgt


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
Write a Comment
User Comments (0)
About PowerShow.com