zend framework

29
Aprenda a preocupar-se com seu negócio utilizando-o

Upload: diegotremper

Post on 28-May-2015

2.218 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Zend Framework

Aprenda a preocupar-se com seu negócio utilizando-o

Page 2: Zend Framework

Quem sou eu?

Introdução

Motivação

O que é Zend Framework?

Vantagens

Componentes

Model-View-Controller

Exemplos de utilização

Page 3: Zend Framework

Diego Tremper

Zend Certified Engineer

Entusiasta PHP

Estudante

Atualmente trabalha como desenvolvedor

para ADP Brasil

Page 4: Zend Framework

Frameworks vs. Bibliotecas

Bibliotecas : Conjunto de classes/funções que possuem

abstrações de código reutilizáveis.

Framework: Quase igual, porém, utiliza um princípio

conhecido como Inversão de Controle.

▪ Determina os fluxos de chamadas de sua aplicação

Page 5: Zend Framework

Frameworks tornam o desenvolvimento mais

rápido

Não há a necessidade de reinventar a roda

Que problema você pretende resolver? O do seu

cliente ou o seu?

Garantem entregas em períodos menores ($$$?)

Page 6: Zend Framework

Framework escrito em PHP 5

Concebido em 2005

Open source

Sob New BSD Licence

Usado em muitos projetos web

Page 7: Zend Framework

Filosofia

Extrema Simplicidade

Sem Xmls complexos

Arquitetura “use o que precisar”

Frequentes interações com a comunidade

Page 8: Zend Framework

Arquitetura flexível

Baixo acoplamento entre os componentes

Treimento oficial (Zend)

Certificação oficial (Zend)

Consultoria (Zend)

Farta documentação

Page 9: Zend Framework

Integração com frameworks JavaScript

Dojo, JQuery

Comunidade forte

Wiki

Issue Tracker

Listas de email

Fórums

Page 10: Zend Framework
Page 11: Zend Framework
Page 12: Zend Framework

Padrão descrito em 1979

Model: RN, Dados

View: Interface com usuário

Controller: Processamento e controle dos eventos

ZF possui a implementação concreta deste

padrão

Page 13: Zend Framework

Mapeamento baseado em partes da URL

http://www.example.org/feed/exibir/var/value

Controller : FeedController

Action : FeedController::exibirAction()

Parametros : [var:value]

Page 14: Zend Framework

Possibilidade de implementar rotas

customizadas

Possui modulos de injeção de dependência

Através de Plugins, Action Helpers e View Helpers

Possui interfaces bem definidas para

possibilitar a customização

Page 15: Zend Framework

Como funciona?

Através de uma configuração no mod_rewrite do

apache (.htaccess ) todas as requisições são

enviadas a um arquivo de bootstrap

Este arquivo inicializa o Front Controller que inicia

o roteamento da chamada para o controller que a

atenderá

Page 16: Zend Framework

Estrutura de diretórios

application/controllers/ diretório dos controllers

IndexController.phpmodels/views/

scripts/index/ diretório de view do controller IndexController

index.phtml script de view da action indexActionhelpers/filters/

html/.htaccessindex.php bootstrap

Page 17: Zend Framework

Como funciona?

Ex.: .htacces

RewriteEngine on# direciona todos requests para index.php# com exceção de arquivos com extenção# .js, .ico, .gif, .jpg, .png, .cssRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Page 18: Zend Framework

Como funciona?

Ex.: index.php

<?phperror_reporting( E_ALL | E_STRICT );require_once 'Zend/Loader.php';Zend_Loader::registerAutoload();// diretório dos controllers$appDir = dirname(__FILE__) . '/application';// inicializa processo da requisiçãoZend_Controller_Front::run("$appDir/controllers");

Page 19: Zend Framework

Controller

Os controllers devem inicializar as classes que

processam as lógicas de negócio

Devem atribuir os valores necessários para os scripts

de view

Também podem fazer desvio de chamadas,

delegando o trabalho a outros controllers/actions

Page 20: Zend Framework

Controller

Ex.: http://example.org/index/index/nome/Diego

class IndexController extends Zend_Controller_Action {public function init() {

// método invocado antes de exibirAction()}public function indexAction() {

// inicializa dados que serão utilizados$this->view->saudacao= ‘Bem vindo’;$this->view->nome=

$this->getRequest-getParam(‘nome’);}

}

Page 21: Zend Framework

View

Scripts de view escritos utilizando php + html

Apenas lógicas de apresentação devem estar

presentes nestes scripts

É possivel a criação/utilização de Helpers para o

auxílio da renderização dos dados

Page 22: Zend Framework

View

Ex.: views/scripts/index/index.phtml

<html><body>…

<h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>...</body></html>

Page 23: Zend Framework

View

Ex.: views/scripts/index/index.phtml

<html><body>…

<h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>...</body></html>

Page 24: Zend Framework

Zend Studio for Eclipse

Paga!

Possui perspectivas próprias para criação de projetos utilizando

o framework

Também é possivel utilizar qualquer outro editor de texto

Vi

Textpad

PSPad Editor

PDT

Page 25: Zend Framework

Reference Guide

▪ http://www.zendframework.com/docs/

Comunidade Brasileira

▪ http://www.zfbrasil.com/forum/

Livro escrito por Flávio Lisboa

▪ http://www.novateceditora.com.br/livros/zend/

Page 26: Zend Framework

Zend Developer Zone

▪ http://devzone.zend.com

Guide to Programming with Zend Framework

▪ http://www.zfguide.com/

Page 27: Zend Framework

Perguntas?

Page 28: Zend Framework

Obrigado!!!

Contato: [email protected]

LinkedIn: http://www.linkedin.com/in/diegotremper

Blog: http://www.diegotremper.com

Page 29: Zend Framework

Zend Framework: http://framework.zend.com /

PHP: http://www.php.net

Zend Studio: http://www.zend.com/en/products/studio/

Zend: http://www.zend.com