0
Zend Framework PHPSC Conf Maio/2009 adlermedrado.com.br
O que será abordado <ul><li>Apresentação </li></ul><ul><li>Frameworks </li></ul><ul><ul><li>O que são ? </li></ul></ul><ul...
Quem ? <ul><li>Analista de sistemas, programador, responsável técnico </li></ul><ul><li>SIGMA Dataserv S/A </li></ul><ul><...
Frameworks – O que são ? adlermedrado.com.br <ul><li>Uma base que provém a infra-estrutura básica necessária para  desenvo...
Zend Framework – O que é ? adlermedrado.com.br <ul><li>Framework open-source para desenvolvimento com PHP 5 </li></ul><ul>...
Zend Framework – O que é ? adlermedrado.com.br <ul><li>Participaram do projeto </li></ul>
Zend Framework – Quem usa? adlermedrado.com.br
Zend Framework – Por que usar? adlermedrado.com.br <ul><li>Orientado a Objetos  </li></ul><ul><li>Implementa a maioria dos...
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...
Zend Framework – Alguns componentes adlermedrado.com.br
Zend Framework – Como usar? adlermedrado.com.br <ul><li>Primeiramente, habilitamos o mod_rewrite no Apache ou a extensão u...
Zend Framework – Como usar? adlermedrado.com.br Vamos então criar um bootstrapper:  (comentários foram poupados para econo...
Zend Framework – Como usar? adlermedrado.com.br <ul><li>Vamos preparar nosso ÚNICO arquivo de configuração </li></ul><ul><...
Zend Framework – Como usar? adlermedrado.com.br Vamos criar um objeto de formulário Zend_Form <?php class  UsuarioForm  ex...
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Primeiro o Controller  (Somente c...
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC Agora a view index.phtml: < html ...
Zend Framework – Como usar? adlermedrado.com.br Vamos criar as classes que compõem o MVC E agora a model Usuario.php: <?ph...
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ÇÃ...
Zend Framework – Como colaborar? adlermedrado.com.br <ul><li>Assinar um CLA – Contributor License Agreement </li></ul><ul>...
Zend Framework – Quais as perspectivas futuras adlermedrado.com.br <ul><li>Zend_Asterisk </li></ul><ul><li>Zend_DataGrid <...
Zend Framework – Como se certificar adlermedrado.com.br <ul><li>http://www.zend.com/en/services/certification/framework/ <...
Zend Framework – Como se certificar adlermedrado.com.br
Zend Framework – Como se certificar adlermedrado.com.br <ul><li>O mercado valoriza SIM a certificação </li></ul><ul><li>Co...
Zend Framework – Perguntas adlermedrado.com.br
Valeu, até mais... adlermedrado.com.br <?php $card = array( ‘ nome’  =>   ‘Adler Brediks Medrado’, ‘ site’  =>   ‘http://w...
Upcoming SlideShare
Loading in...5
×

Zend Framework

4,608

Published on

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

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,608
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
217
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Transcript of "Zend Framework"

  1. 1. Zend Framework PHPSC Conf Maio/2009 adlermedrado.com.br
  2. 2. O que será abordado <ul><li>Apresentação </li></ul><ul><li>Frameworks </li></ul><ul><ul><li>O que são ? </li></ul></ul><ul><li>Zend Framework </li></ul><ul><ul><li>O que é ? </li></ul></ul><ul><ul><li>Quem usa ? </li></ul></ul><ul><ul><li>Por que usar ? </li></ul></ul><ul><ul><li>Alguns componentes </li></ul></ul><ul><ul><li>Como usar ? </li></ul></ul><ul><ul><li>Como colaborar ? </li></ul></ul><ul><ul><li>Quais as perspectivas futuras ? </li></ul></ul><ul><ul><li>Como se certificar ? </li></ul></ul><ul><li>Perguntas </li></ul>adlermedrado.com.br
  3. 3. Quem ? <ul><li>Analista de sistemas, programador, responsável técnico </li></ul><ul><li>SIGMA Dataserv S/A </li></ul><ul><li>Membro da equipe de coordenação do PHPDF </li></ul><ul><li>Instrutor de cursos de PHP </li></ul><ul><li>Zend Certified Engineer – PHP 5 </li></ul><ul><li>Zend Certified Engineer – Zend Framework </li></ul>adlermedrado.com.br
  4. 4. Frameworks – O que são ? adlermedrado.com.br <ul><li>Uma base que provém a infra-estrutura básica necessária para desenvolver software. </li></ul><ul><li>Determina padrões de desenvolvimento </li></ul><ul><li>Permite que haja reaproveitamento de código </li></ul><ul><li>Automatização de tarefas </li></ul><ul><li>Biblioteca de classes </li></ul><ul><li>Soluções para problemas comuns já estão implementadas </li></ul>http://www.reporterbrasil.org.br/brinquedos/images/brinc-montar.jpg
  5. 5. Zend Framework – O que é ? adlermedrado.com.br <ul><li>Framework open-source para desenvolvimento com PHP 5 </li></ul><ul><li>Mantido pela Zend Technologies Inc. </li></ul><ul><li>Crescente comunidade de desenvolvedores </li></ul><ul><li>Crescente comunidade de usuários </li></ul><ul><li>Certificação de profissionais </li></ul><ul><li>Extensa documentação </li></ul><ul><li>Licença new BSD </li></ul><ul><li>Suporte comercial da Zend </li></ul><ul><li>Versão atual 1.8.2 </li></ul>
  6. 6. Zend Framework – O que é ? adlermedrado.com.br <ul><li>Participaram do projeto </li></ul>
  7. 7. Zend Framework – Quem usa? adlermedrado.com.br
  8. 8. Zend Framework – Por que usar? adlermedrado.com.br <ul><li>Orientado a Objetos </li></ul><ul><li>Implementa a maioria dos padrões de projeto (design patterns) em seus componentes </li></ul><ul><li>Amplamente testados com testes unitários (PHPUnit) </li></ul><ul><li>Robusto, Simples, Extensível e Produtivo </li></ul><ul><li>Baseado em componentes </li></ul><ul><li>Baixo acoplamento entre os componentes </li></ul><ul><li>Fácil de colocar para funcionar </li></ul><ul><li>Integração com outros projetos (smarty, doctrine, jquery, dojo, etc) </li></ul><ul><li>Webservices prontos para serviços do Yahoo!, Google e outros. </li></ul><ul><li>Zend_Search_Lucene – Indexação de documentos baseado no projeto Apache Lucene. </li></ul>
  9. 9. adlermedrado.com.br SE VOCÊ AINDA PROGRAMA CÓDIGO ESPAGUETTI, SAIBA QUE ESTÁ NA HORA DE MUDAR. SABE PORQUE?
  10. 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. 11. Zend Framework – Alguns componentes adlermedrado.com.br
  12. 12. Zend Framework – Como usar? adlermedrado.com.br <ul><li>Primeiramente, habilitamos o mod_rewrite no Apache ou a extensão url_rewriter no IIS para utilizarmos o recurso de “urls amigáveis”. </li></ul><ul><li>Depois, criamos a estrutura de diretórios: </li></ul>Estrutura gerada com o Zend_Tool
  13. 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 . 'applicationconfapplication.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. 14. Zend Framework – Como usar? adlermedrado.com.br <ul><li>Vamos preparar nosso ÚNICO arquivo de configuração </li></ul><ul><li>application.ini: </li></ul><ul><li>[devel] </li></ul><ul><li>db.adapter = PDO_MYSQL </li></ul><ul><li>db.config.host = 127.0.0.1 </li></ul><ul><li>db.config.username = root </li></ul><ul><li>db.config.password = </li></ul><ul><li>db.config.dbname = meu_sistema </li></ul><ul><li>[homologacao] </li></ul><ul><li>db.adapter = PDO_MYSQL </li></ul><ul><li>db.config.host = 127.0.0.2 </li></ul><ul><li>db.config.username = root </li></ul><ul><li>db.config.password = </li></ul><ul><li>db.config.dbname = meu_sistema </li></ul><ul><li>[producao] </li></ul><ul><li>db.adapter = PDO_MYSQL </li></ul><ul><li>db.config.host = 127.0.0.3 </li></ul><ul><li>db.config.username = root </li></ul><ul><li>db.config.password = </li></ul><ul><li>db.config.dbname = meu_sistema </li></ul>
  15. 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. 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. 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. 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. 19. Zend Framework – Como usar? adlermedrado.com.br AGORA VAMOS VER ISSO RODANDO
  20. 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. 21. Zend Framework – Como colaborar? adlermedrado.com.br <ul><li>Assinar um CLA – Contributor License Agreement </li></ul><ul><li>Criar código dentro dos padrões de codificação do ZF </li></ul>
  22. 22. Zend Framework – Quais as perspectivas futuras adlermedrado.com.br <ul><li>Zend_Asterisk </li></ul><ul><li>Zend_DataGrid </li></ul><ul><li>Zend_Chart </li></ul><ul><li>Zend_Form Generation from Model </li></ul><ul><li>Zend_Jabber </li></ul><ul><li>Zend_ICal </li></ul><ul><li>Zend_Crypt e Zend_Crypt_Rsa </li></ul><ul><li>Zend_BitTorrent </li></ul><ul><li>Zend_Filter_Compress </li></ul><ul><li>Zend_Microformat </li></ul><ul><li>ZendX_Doctrine </li></ul><ul><ul><ul><li>Entre outros... </li></ul></ul></ul>
  23. 23. Zend Framework – Como se certificar adlermedrado.com.br <ul><li>http://www.zend.com/en/services/certification/framework/ </li></ul><ul><li>Valor do voucher: $160 </li></ul><ul><li>Baseado no Zend Framework 1.5.0 </li></ul><ul><li>MVC, Forms, Database, Authentication and Access, Filtering and Validation, Web Services, Infrastructure, Search, Mail, Security Internationalization, Coding Standards, Performance, Diagnosis and Maintainability </li></ul><ul><li>ZF Certification Study Guide -> gratuito </li></ul><ul><li>Marque a data do exame na PearsonVue: www.pearsonvue.com </li></ul><ul><li>Vá um centro autorizado PearsonVue na data marcada </li></ul><ul><li>Prova 100% online (via computador). </li></ul><ul><li>Há cameras monitorando </li></ul><ul><li>Resultado na hora </li></ul><ul><li>Seu nome aparece na Yellow Pages </li></ul>
  24. 24. Zend Framework – Como se certificar adlermedrado.com.br
  25. 25. Zend Framework – Como se certificar adlermedrado.com.br <ul><li>O mercado valoriza SIM a certificação </li></ul><ul><li>Conta pontos em licitações, ou seja, as empresas valorizam o profissional certificado </li></ul><ul><li>Eu ganho bonus mensais no salário por cada certificação que tenho </li></ul><ul><li>RESUMINDO: VALE A PENA </li></ul>
  26. 26. Zend Framework – Perguntas adlermedrado.com.br
  27. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×