Download - Palestra Zend Framework no Governo Federal
Zend Framework
Flávio Gomes da Silva LisboaBacharel em Ciência da Computação com pós-graduação em Aplicações Corporativas usando Orientação a Objetos e Tecnologia Java pela Universidade Tecnológica Federal do Paraná. Já atuou como programador em empresas privadas de informática e funcionário de carreira do Banco do Brasil, onde chegou a analista na diretoria internacional. Atualmente é consultor tecnológico da Coordenação Estratégica de Tecnologia do Serviço Federal de Processamento de Dados (Serpro). Foi professor na pós-graduação da UNICID e é instrutor de cursos técnicos na Tempo Real Eventos e conteudista da TreinaWeb. Foi membro do time oficial de tradução do Zend Framework e autor de três livros sobre o tema. É contribuidor oficial do projeto Tine 2.0, suíte livre de comunicação em PHP. Tem experiência na área de Ciência da Computação, com ênfase em Software Livre, atuando principalmente nos seguintes temas: Java, PHP, Python, padrões, frameworks, MVC, DCI e objetos.
Curriculum
Zend Framework
O que é isso?
Zend Framework
Framework de aplicação web orientado a objetos, aberto, implementado em PHP 5 e licenciado sob
New BSD License.
/* História real enviada por Wagner */
Alonso: Cara… O que é “Orientado a objetos”?
Programador: É uma forma de programar que foi criada para tentar aproximar o mundo real do mundo virtual usando propriedades, objetos, métodos, etc..
Alonso: Ahhhh tá… É que eu acho que faço orientado a objetos e nem sei…
FACEPALM
Zend Framework
Zend Framework
Características
Zend Framework
➔Framework PHP 5 completamente aberto.➔Muito fácil de usar.➔Usa a regra 80:20 (80% das coisas que você precisa estão lá).➔Sem configurações complexas.
Zend Framework
Características
Zend Framework
➔Licença aberta BSD, como o PHP.➔Mais de 150.000 linhas de código de alta qualidade.➔Mais de 65% cobertas com testes de unidade.➔Grande comunidade.
Zend Framework
Características
Zend Framework
Facilmente integrável com frameworks Javascript
●Zend Framework já vem com Dojo●Classes Zend_Dojo e ZendX_JQuery
Zend Framework
Números
Zend Framework
➔ Mais de 10 milhões de downloads➔ Mais de 500 contribuidores➔ Mais de 1000 páginas no Guia de Referência➔ Mais de 500 exemplos no Guia de Referência➔ Mais de 6 mihões de hits no Google➔ Mais de 120 projetos baseados, estendendo ou suportando Zend Framework no SourceForge➔ Mais de 280 projetos baseados, estendendo, ou suportando Zend Framework no Google Code➔ Mais de 4000 relatos resolvidos no Issue Tracker
Zend Framework
Modelo
Ele usa a estrutura MVC
A representação específica do domínio da informação sobre a qual a aplicação opera.
Zend Framework
Visão/Visualizador
Ele usa a estrutura MVC
Renderiza o modelo dentro de uma forma adequada para interação, tipicamente um elemento da
interface com o usuário. Múltiplas visões podem existir para um único modelo para diferentes
propósitos.
Zend Framework
Controlador
Ele usa a estrutura MVC
Processa e responde a eventos, tipicamente ações do usuário, e pode provocar mudanças no modelo.
Zend Framework
Ferramentas na caixa
O que tem no Zend Framework
➔MVC usando Zend_Controller, Zend_View, Zend_Layout and Zend_Form.➔Acesso a Banco de dados usando Zend_Db_Adapter(s) e classes como Zend_Db_Table, Zend_Db_Select➔Autenticação e controle de acesso com Zend_Auth, Zend_Session e Zend_Acl.➔i18n e l10n com Zend_Locate, Zend_Date, Zend_Measure e Zend_Translate.
Zend Framework
… e muito mais
O que tem no Zend Framework
➔Web services com Zend_Http_Client, Zend_Rest_Client, Zend_Feed, Zend_Service_... e mais.➔Comunicação para criação de documentos com Zend_Pdf ou e-mails com Zend_Mail, Zend_Mime.➔Busca com a implementação de Zend_Search_Lucene.➔Utilitários como Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Filter, ...
Zend Framework
Layout padrão de URL
Layout da aplicação
➔/index/index➔/processo/incluir➔/processo/buscar/juiz/dredd➔Baseado em /controller/action/params
Zend Framework
Exemplo de URL
Layout da aplicação
http://www.apatada.com/blogs/artigo/id/al465wq➔Controlador: blogs➔Ação: artigo➔Parâmetro: id
Zend Framework
Estrutura de diretórios
Layout da aplicação
/application➔/controllers diretório com os controladores➔/layouts layouts padrões para a aplicação➔/views/.. conteúdo e layout específico do controlador➔/models seus modelos de dados➔Bootstrap.php tarefas de inicialização
Zend Framework
Bootstrap.php
Layout da aplicação
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
public function _initLog(){
$writer = new Zend_Log_Writer_Null();
$log = new Zend_Log();
Zend_Registry::set('log', $log);}
}
Zend Framework
/public
Layout da aplicação
➔/images imagens estáticas➔/styles folhas de estilo➔/scripts/ javascript estático➔/.htaccess configuração do Apache/PHP➔index.php
Zend Framework
.htaccess
Layout da aplicação
RewriteEngine OnRewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^.*$ - [NC,L]RewriteRule ^.*$ index.php [NC,L]
Zend Framework
index.php
Layout da aplicação
<?php
// Define path to application directorydefined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environmentdefined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_pathset_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(),)));
/** Zend_Application */require_once 'Zend/Application.php';
// Create application, bootstrap, and run$application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');$application->bootstrap() ->run();
Zend Framework
1. Você pode estender classes como se não houvesse amanhã
Razões para usar Zend Framework
Zend Framework
5. Nenhuma implementação de modelo – escolha sua própria aventura
Razões para usar Zend Framework
Zend Framework
8. Todo código é culpado até que se prove sua inocência
Razões para usar Zend Framework
Zend Framework
No governo
Ministério das Cidades
http://www.capacidades.gov.br
Zend Framework
No governo
Ministério do Desenvolvimento, Indústria e Comércio ExteriorDesde 2007, utiliza
Tem dezenas de sistemas em produção.
Zend Framework
No governo
http://www.vitrinedoexportador.gov.br
Zend Framework
No governo
http://www.portaldoempreendedor.gov.br
Zend Framework
No governo
Ministério da Educação
http://sisfies.mec.gov.br
Zend Framework
No governo
Ministério do Meio Ambiente
http://www.icmbio.gov.br/sial
Zend Framework
No governo
Ministério da Saúde
http://integrador.datasus.gov.br/INTEGRADOR/index.php?area=01
Zend Framework
No governo
Editais
Ministério da DefesaEDITAL no 002/12–MOT/DEC, de 5 de julho de 2012
Ministério da EducaçãoTERMO DE REFERÊNCIA TOR/FNDE/DTI/MEC Nº 037/2012
Zend Framework
No governo
Contribuições à comunidade:
→ e-mail→ webconference→ mensageria instantânea
Zend Framework
No governo
Referências
● PETI Planejamento Estratégico de Tecnologia da Informação do MEC
● http://www.slideshare.net/jwenl/zend-framework-introduction-presentation-763045
● http://www.pluriverso.com.br/software/zend-framework
● http://www.moodox.com.br/portfolio-nossos-trabalhos
Zend Framework
Contato
Coordenação Estratégica de Tecnologia
Serpro Regional Curitiba