SlideShare a Scribd company logo

Zend Framework

Palestra sobre Zend Framework ministrada no PHPSC Conf 2009, Itajaí, SC, Brasil.

1 of 27
Download to read offline
Zend Framework PHPSC Conf Maio/2009 adlermedrado.com.br
O que será abordado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],adlermedrado.com.br
Quem ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],adlermedrado.com.br
Frameworks – O que são ? adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://www.reporterbrasil.org.br/brinquedos/images/brinc-montar.jpg
Zend Framework – O que é ? adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Zend Framework – O que é ? adlermedrado.com.br ,[object Object]
Zend Framework – Quem usa? adlermedrado.com.br
Zend Framework – Por que usar? adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
adlermedrado.com.br SE VOCÊ AINDA PROGRAMA CÓDIGO  ESPAGUETTI, SAIBA QUE ESTÁ NA HORA  DE MUDAR.  SABE PORQUE?
Zend Framework – Por que usar? adlermedrado.com.br As eras da programação espaguetti e dos frameworks caseiros chegaram ao fim no mundo PHP !!!
Zend Framework – Alguns componentes adlermedrado.com.br
Zend Framework – Como usar? adlermedrado.com.br ,[object Object],[object Object],Estrutura gerada com o Zend_Tool
Zend Framework – Como usar? adlermedrado.com.br Vamos então criar um bootstrapper:  (comentários foram poupados para economizar espaço) index.php: <?php setlocale(LC_ALL,  'pt_BR' ); date_default_timezone_set( 'America/Sao_Paulo' ); include_once  'application/constants/Constants.php' ; set_include_path(  '.'  . PATH_SEPARATOR . Constants::ROOT_DIR .  '/application/lib/' . PATH_SEPARATOR . Constants::ROOT_DIR .  '/application/views/forms' . PATH_SEPARATOR . Constants::ROOT_DIR .  '/application/models/' . PATH_SEPARATOR . get_include_path()); include_once  'Zend/Loader/Autoloader.php' ; $autoloader  = Zend_Loader_Autoloader::getInstance(); $autoloader ->setFallbackAutoloader( true ); try  { $banco  =  new  Zend_Config_Ini(Constants::ROOT_DIR .  'pplicationonfpplication.ini' ,  'devel' ); $registry  = Zend_Registry::getInstance(); $registry ->set(  'banco' ,  $banco  ) ; $db  = Zend_Db::factory (  $banco ->db->adapter,  $banco ->db->config->toArray() ) ; Zend_Db_Table::setDefaultAdapter (  $db  ) ; $registry ->set(  'db' ,  $db  ) ; Zend_Layout::startMvc( array ( 'layoutPath'  =>  './application/views/layouts' )); $frontController  = Zend_Controller_Front::getInstance(); $frontController ->throwExceptions( true ); $frontController ->setControllerDirectory( Constants::ROOT_DIR .  '/application/controllers'  ); $frontController ->dispatch(); }  catch  (Exception  $e ) { echo $e->getMessage(); }
Zend Framework – Como usar? adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Zend Framework – Como usar? adlermedrado.com.br Vamos criar um objeto de formulário Zend_Form <?php class  UsuarioForm  extends  Zend_Form { public function  __construct( $options  = null) { parent ::__construct( $options ); $this ->generate(); } public function  generate() { $this ->setName( 'usuarioform' ); $id  =  new  Zend_Form_Element_Hidden( 'id' ); $nomeCompleto  =  new  Zend_Form_Element_Text( 'nome_completo' ); $nomeCompleto ->setLabel( 'Nome Completo:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' ) ->addValidator( 'NotEmpty' )->setAttrib( 'size' ,  '60' )->setAttrib( 'maxlength' , '80' );   $username  =  new  Zend_Form_Element_Text( 'username' );   $username ->setLabel( 'Username:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' )   ->addValidator( 'NotEmpty' )->setAttrib( 'size' ,  '45' )->setAttrib( 'maxlength' , '45' );   $senha  =  new  Zend_Form_Element_Password( 'senha' );   $senha ->setLabel( 'Senha:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' )   ->addValidator( 'NotEmpty' )->setAttrib( 'size' ,  '45' )->setAttrib( 'maxlength' , '45' );   $email  =  new  Zend_Form_Element_Text( 'email' );   $email ->setLabel( 'Email:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' )   ->addValidator( 'NotEmpty' )->setAttrib( 'size' ,  '45' )->setAttrib( 'maxlength' , '45' );   $submit  =  new  Zend_Form_Element_Button( 'submit' );   $this ->addElements( array ( $id ,  $nomeCompleto ,  $username ,  $senha ,  $email ,  $submit )); } }
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Primeiro o Controller  (Somente com o método de inclusão para poupar espaço) UsuarioController.php <?php class  UsuarioController  extends  Zend_Controller_Action { private  $usuario ; public function  init() { $this ->usuario =  new  Usuario(); } public function  novoAction() { $form  =  new  UsuarioForm(); $this ->view->form =  $form ; if  ( $this ->_request->isPost()) { $formData  =  $this ->_request->getPost(); if  ( $form ->isValid( $formData )) { unset ( $formData [ 'id' ]); unset ( $formData [ 'submit' ]); $formData [ 'senha' ] = md5( $formData [ 'senha' ]); if  ( $this ->usuario->insert( $formData ) !==  false ) { $this->view->mensagem = “Dados inseridos com sucesso”; }  else  { $this->view->mensagem = “Erros ao inserir”; } }  else  { $form ->populate( $formData ); } } } }
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Agora a view index.phtml: < html > < header ></ header > < body > <?php echo  $this ->form; ?> </ body > </ html >
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC E agora a model Usuario.php: <?php class  Usuario  extends  Zend_Db_Table_Abstract { }
Zend Framework – Como usar? adlermedrado.com.br AGORA VAMOS VER ISSO RODANDO
Zend Framework – Como usar? adlermedrado.com.br SIMPLES NÉ? QUER VER ZEND_LAYOUT, RELACIONAMENTO ENTRE TABELAS  ,INTEGRAÇÃO COM JQUERY e INTEGRAÇÃO COM FIREPHP? PARTICIPE DO MINICURSO.
Zend Framework – Como colaborar? adlermedrado.com.br ,[object Object],[object Object]
Zend Framework – Quais as perspectivas futuras adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Zend Framework – Como se certificar adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Zend Framework – Como se certificar adlermedrado.com.br
Zend Framework – Como se certificar adlermedrado.com.br ,[object Object],[object Object],[object Object],[object Object]
Zend Framework – Perguntas adlermedrado.com.br
Valeu, até mais... adlermedrado.com.br <?php $card = array( ‘ nome’  =>   ‘Adler Brediks Medrado’, ‘ site’  =>   ‘http://www.adlermedrado.com.br’, ‘ e-mail’ =>   ‘adler@adlermedrado.com.br’, ‘ fone’  =>   ‘(61) 8145 0199’ ); var_dump($card); ?> Idéia roubada descaradamente dos slides do Elton Minetto - www.eltonminetto.net

Recommended

Mini Curso Zend Framework
Mini Curso Zend FrameworkMini Curso Zend Framework
Mini Curso Zend FrameworkAdler Medrado
 
Panorama atual do PHP
Panorama atual do PHPPanorama atual do PHP
Panorama atual do PHPAdler Medrado
 
Web 2.0 e RIA com PHP
Web 2.0 e RIA com PHPWeb 2.0 e RIA com PHP
Web 2.0 e RIA com PHPAdler Medrado
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com AjaxAdler Medrado
 
Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Adler Medrado
 
Boas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIBoas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIFernando Camargo
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDomingos Teruel
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3Flávio Lisboa
 

More Related Content

What's hot

Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCCriando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCFlávio Lisboa
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend FrameworkJaime Neto
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2Flávio Lisboa
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1 Edgar Dantas
 
APIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiazAPIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiaziMasters
 
Zend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoZend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoFlávio Lisboa
 
Prepare-se para o próximo estágio da evolução PHP
Prepare-se para o próximo estágio da evolução PHPPrepare-se para o próximo estágio da evolução PHP
Prepare-se para o próximo estágio da evolução PHPRaphael Almeida
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformanceFelipe Ribeiro
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPressHaste Design
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
Projetando para WordPress
Projetando para WordPressProjetando para WordPress
Projetando para WordPressHaste Design
 
Segurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPSegurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPGedvan Dias
 

What's hot (20)

Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCCriando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend Framework
 
PHP Além da universidade
PHP Além da universidadePHP Além da universidade
PHP Além da universidade
 
Webinar php extreme 5.3
Webinar php extreme 5.3Webinar php extreme 5.3
Webinar php extreme 5.3
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
NoSQL com Zend Framework 2
NoSQL com Zend Framework 2NoSQL com Zend Framework 2
NoSQL com Zend Framework 2
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1
 
APIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiazAPIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex Piaz
 
Zend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimoradoZend Framework 3 - porque só o que existe pode ser aprimorado
Zend Framework 3 - porque só o que existe pode ser aprimorado
 
Prepare-se para o próximo estágio da evolução PHP
Prepare-se para o próximo estágio da evolução PHPPrepare-se para o próximo estágio da evolução PHP
Prepare-se para o próximo estágio da evolução PHP
 
Boas práticas de API Design
Boas práticas de API DesignBoas práticas de API Design
Boas práticas de API Design
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPress
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Projetando para WordPress
Projetando para WordPressProjetando para WordPress
Projetando para WordPress
 
Segurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPSegurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHP
 

Viewers also liked

Entendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPEntendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPAdler Medrado
 
Não é Feitiçaria, é Tecnologia
Não é Feitiçaria, é TecnologiaNão é Feitiçaria, é Tecnologia
Não é Feitiçaria, é TecnologiaAdler Medrado
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 

Viewers also liked (7)

Webservices
WebservicesWebservices
Webservices
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Tales of the Crypto
Tales of the CryptoTales of the Crypto
Tales of the Crypto
 
Entendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHPEntendendo Conceitos Caching com PHP
Entendendo Conceitos Caching com PHP
 
Não é Feitiçaria, é Tecnologia
Não é Feitiçaria, é TecnologiaNão é Feitiçaria, é Tecnologia
Não é Feitiçaria, é Tecnologia
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 
Mercado de Trabalho
Mercado de TrabalhoMercado de Trabalho
Mercado de Trabalho
 

Similar to Zend Framework

PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend FrameworkJaime Neto
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroMichael Castillo Granados
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11Cezar Souza
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraDavid O'Keefe
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...Ezequiel Bertti
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009silva.edgar
 
ASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoVinicius Rocha
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 

Similar to Zend Framework (20)

PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend Framework
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguro
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
Estrutura do Projeto
Estrutura do ProjetoEstrutura do Projeto
Estrutura do Projeto
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
 
ASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoASP.NET MVC Mini Curso
ASP.NET MVC Mini Curso
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 

Recently uploaded

ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxjosecarlos413721
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx2m Assessoria
 
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx2m Assessoria
 
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoCurso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoGuilhermeJorgeAragod
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docxATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx2m Assessoria
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx2m Assessoria
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxjosecarlos413721
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxjosecarlos413721
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxjosecarlos413721
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxjosecarlos413721
 
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx2m Assessoria
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx2m Assessoria
 
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docxATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx2m Assessoria
 
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Daniel Mendes
 

Recently uploaded (20)

ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
 
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
 
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoCurso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docxATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
 
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
 
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docxATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
 
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
 

Zend Framework

  • 1. Zend Framework PHPSC Conf Maio/2009 adlermedrado.com.br
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Zend Framework – Quem usa? adlermedrado.com.br
  • 8.
  • 9. adlermedrado.com.br SE VOCÊ AINDA PROGRAMA CÓDIGO ESPAGUETTI, SAIBA QUE ESTÁ NA HORA DE MUDAR. SABE PORQUE?
  • 10. Zend Framework – Por que usar? adlermedrado.com.br As eras da programação espaguetti e dos frameworks caseiros chegaram ao fim no mundo PHP !!!
  • 11. Zend Framework – Alguns componentes adlermedrado.com.br
  • 12.
  • 13. Zend Framework – Como usar? adlermedrado.com.br Vamos então criar um bootstrapper: (comentários foram poupados para economizar espaço) index.php: <?php setlocale(LC_ALL, 'pt_BR' ); date_default_timezone_set( 'America/Sao_Paulo' ); include_once 'application/constants/Constants.php' ; set_include_path( '.' . PATH_SEPARATOR . Constants::ROOT_DIR . '/application/lib/' . PATH_SEPARATOR . Constants::ROOT_DIR . '/application/views/forms' . PATH_SEPARATOR . Constants::ROOT_DIR . '/application/models/' . PATH_SEPARATOR . get_include_path()); include_once 'Zend/Loader/Autoloader.php' ; $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader ->setFallbackAutoloader( true ); try { $banco = new Zend_Config_Ini(Constants::ROOT_DIR . 'pplicationonfpplication.ini' , 'devel' ); $registry = Zend_Registry::getInstance(); $registry ->set( 'banco' , $banco ) ; $db = Zend_Db::factory ( $banco ->db->adapter, $banco ->db->config->toArray() ) ; Zend_Db_Table::setDefaultAdapter ( $db ) ; $registry ->set( 'db' , $db ) ; Zend_Layout::startMvc( array ( 'layoutPath' => './application/views/layouts' )); $frontController = Zend_Controller_Front::getInstance(); $frontController ->throwExceptions( true ); $frontController ->setControllerDirectory( Constants::ROOT_DIR . '/application/controllers' ); $frontController ->dispatch(); } catch (Exception $e ) { echo $e->getMessage(); }
  • 14.
  • 15. Zend Framework – Como usar? adlermedrado.com.br Vamos criar um objeto de formulário Zend_Form <?php class UsuarioForm extends Zend_Form { public function __construct( $options = null) { parent ::__construct( $options ); $this ->generate(); } public function generate() { $this ->setName( 'usuarioform' ); $id = new Zend_Form_Element_Hidden( 'id' ); $nomeCompleto = new Zend_Form_Element_Text( 'nome_completo' ); $nomeCompleto ->setLabel( 'Nome Completo:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' ) ->addValidator( 'NotEmpty' )->setAttrib( 'size' , '60' )->setAttrib( 'maxlength' , '80' ); $username = new Zend_Form_Element_Text( 'username' ); $username ->setLabel( 'Username:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' ) ->addValidator( 'NotEmpty' )->setAttrib( 'size' , '45' )->setAttrib( 'maxlength' , '45' ); $senha = new Zend_Form_Element_Password( 'senha' ); $senha ->setLabel( 'Senha:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' ) ->addValidator( 'NotEmpty' )->setAttrib( 'size' , '45' )->setAttrib( 'maxlength' , '45' ); $email = new Zend_Form_Element_Text( 'email' ); $email ->setLabel( 'Email:' )->setRequired( true )->addFilter( 'StripTags' )->addFilter( 'StringTrim' ) ->addValidator( 'NotEmpty' )->setAttrib( 'size' , '45' )->setAttrib( 'maxlength' , '45' ); $submit = new Zend_Form_Element_Button( 'submit' ); $this ->addElements( array ( $id , $nomeCompleto , $username , $senha , $email , $submit )); } }
  • 16. Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Primeiro o Controller (Somente com o método de inclusão para poupar espaço) UsuarioController.php <?php class UsuarioController extends Zend_Controller_Action { private $usuario ; public function init() { $this ->usuario = new Usuario(); } public function novoAction() { $form = new UsuarioForm(); $this ->view->form = $form ; if ( $this ->_request->isPost()) { $formData = $this ->_request->getPost(); if ( $form ->isValid( $formData )) { unset ( $formData [ 'id' ]); unset ( $formData [ 'submit' ]); $formData [ 'senha' ] = md5( $formData [ 'senha' ]); if ( $this ->usuario->insert( $formData ) !== false ) { $this->view->mensagem = “Dados inseridos com sucesso”; } else { $this->view->mensagem = “Erros ao inserir”; } } else { $form ->populate( $formData ); } } } }
  • 17. Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Agora a view index.phtml: < html > < header ></ header > < body > <?php echo $this ->form; ?> </ body > </ html >
  • 18. Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC E agora a model Usuario.php: <?php class Usuario extends Zend_Db_Table_Abstract { }
  • 19. Zend Framework – Como usar? adlermedrado.com.br AGORA VAMOS VER ISSO RODANDO
  • 20. Zend Framework – Como usar? adlermedrado.com.br SIMPLES NÉ? QUER VER ZEND_LAYOUT, RELACIONAMENTO ENTRE TABELAS ,INTEGRAÇÃO COM JQUERY e INTEGRAÇÃO COM FIREPHP? PARTICIPE DO MINICURSO.
  • 21.
  • 22.
  • 23.
  • 24. Zend Framework – Como se certificar adlermedrado.com.br
  • 25.
  • 26. Zend Framework – Perguntas adlermedrado.com.br
  • 27. Valeu, até mais... adlermedrado.com.br <?php $card = array( ‘ nome’ => ‘Adler Brediks Medrado’, ‘ site’ => ‘http://www.adlermedrado.com.br’, ‘ e-mail’ => ‘adler@adlermedrado.com.br’, ‘ fone’ => ‘(61) 8145 0199’ ); var_dump($card); ?> Idéia roubada descaradamente dos slides do Elton Minetto - www.eltonminetto.net