210 likes | 315 Vues
Pontos fortes e fracos; Facilidade, flexibilidade, produtividade, mercado, conceituação, características, etc... * Métricas em quantidades de projetos e linhas de código (rede Ohloh). PHP vs java.
E N D
Pontos fortes e fracos; • Facilidade, flexibilidade, produtividade, mercado, conceituação, características, etc... * Métricas em quantidades de projetos e linhas de código (rede Ohloh) PHP vs java
É um framework de aplicação web orientado a objetos de código aberto, desenvolvido em PHP 5, que tem como objetivo simplificar o desenvolvimento web; • Possui uma arquitetura “use-at-will” (use a vontade) que permite que os desenvolvedores utilizem seus componente quando e onde estes fizerem sentido em sua aplicação, sem requerer outros componentes; ZEND
Embora Zend forneça componentes para os padrões MVC e Table Gateway, não há um padrão de arquitetura de software que deva ser seguido por todos os desenvolvedores; ZEND
2005 • Começa a construção em seus meados e no fim do ano é promovida a primeira ZendCon; • 2006 • Zend Framework 0.1.0; • 2007 • Em julho, Zend Framework 1.0.0 é lançado; • 2008 • Em março, Zend Framework 1.5.0 é lançado; • Em setembro, Zend_Framework 1.6.0 é lançado; • Em novembro, Zend_Framework 1.7.0 é lançado; • 2009 • Em abril, Zend_Framework 1.8.0 é lançado; • Em julho, Zend_Framework 1.9.0 é lançado; • 2010 • Em janeiro, Zend_Framework 1.10.0 é lançado; • Em novembro, Zend_Framework 1.11.0 é lançado; História
Componentes em PHP 5, orientados a objetos; • Fraco acoplamento entre componentes e interdependências mínimas; • Possibilita projetos altamente modulares com facilidade; • Implementação MVC; • Implementação Table Data Gateway; • Suporte a múltiplos SGBDs: MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, e Informix Dynamic Server; características
Serviços de autenticação e autorização; • Filtro de dados e validação para fortalecimento da segurança da aplicação; • Gerenciamento de sessão; • Criação de formulários usando PHP, arquivos de configuração ou XML; • Internationalização e localização; • Comunidade ativa e participante • Grande incentivo a linguagem PHP 5 características
Table Data Gateway; • Conexão de forma transparente; • Interface padrão independentemente do SGBD em uso; • Alterações no código não são necessárias em caso de mudança; • Possibilidade extremamente fácil de usar múltiplos SGBDs e/ou servidores; Zend e banco de dados
Simplifica a criação e manipulação de formulários; Fácil re-usabilidade; Validação de dados; Filtro de dados; Modo de uso muito flexível; Zend form
Zend_Elements; • text, textarea, select, checkbox, file, etc; • Zend_Validate; • Email, data, tamanho e muitos outros, além de fácil customização de um; • Zend_Filter; • Zend_Decorator; Zend form
Exemplo de uso: $form = new Zend_Form(); $form->addElement('text‘, ‘nome', array( ‘label’=> ‘Nome:’, ‘style’=> ‘width: 200px;’, ‘class’ => ‘classe_css’, ‘filters’ => array('StringTrim'), ‘validators’ => array('NotEmpty’), ‘decorators’ => array ('ViewHelper') )); /* Também pode se criar primeiramente um Zend_Form_Element_Text e então adicionar no form */ Zend form
O PHP possui muitos problemas nas suas soluções de internacionalização; • APIs inconsistentes; • Sem detecção de linguagem padrão; • Entre outros; • Zend busca uma forma trivial de permitir que os desenvolvedores internacionalizem suas aplicações; • Zend_Translate é a solução do Zend Framework para aplicações multilíngües; I18n no zend
Não possui os mesmos problemas do PHP, por isso o mesmo é recomendado ao invés das funções nativas do PHP; Traduz a saída antes de passar para a view, assim não é necessário criar uma view para cada idioma que se deseja traduzir; Usado tanto de forma “global” quanto mais específica com facilidade Zendtranslate
Basta um objeto do tipo Zend_Translate ser adicionado no registry do Zend com a chave ‘Zend_Translate’, e o tradutor é usado automaticamente de forma “global”; Pode lidar com vários adaptadores, são eles: Array, Csv, Gettext, Ini, Tbx, Tmx, Qt, Xliff, XmlTm, entre outros; Zend translate
Translation Memory eXchange; É um padrão XML aberto para compartilhamento de memória de tradução criado para tradução assistida e ferramentas de localização; Possui um “banco” de pares de textos fontes e textos traduzidos; TMX
<?xml version="1.0" encoding="UTF-8"?> <tmx version="2.0" xmlns="http://www.lisa.org/tmx20"> <header adminlang="en" creationtool="locale4j" creationtoolversion="1.1" o-tmf="unknown" segtype="block" srclang="*all*"/> <body> <tu tuid="cnpj_not_recognized"> <tuvxml:lang="en"> <seg>CNPJ notrecognized.</seg> </tuv> <tuvxml:lang="pt"> <seg>CNPJ inválido.</seg> </tuv> </tu> ... tmx
Exemplo de uso: $tradutor = new Zend_Translate ( 'tmx', APPLICATION_PATH . '/nls/arquivo.tmx', $lingua ); //tradução de uma string qualquer $traducao = $tradutor->_($stringChave); //ou pode ser adicionado em um Zend_Form $form->setTranslator($tradutor); Zend translate
Mensagens de erro de validação; Labels de campos e botões; Legendas de campos; Descrições de forms e campos; Valores de elementos Multi-option (Zend_Form_Element_Multi); Basicamente, onde for preciso haver tradução; I18n em forms
http://framework.zend.com/ http://www.cin.ufpe.br/~if101/turmaatual/aulas/aula1/java.html http://pt.wikipedia.org/wiki/Java _(linguagem_de_programação) http://pt.wikipedia.org/wiki/PHP http://pt.wikipedia.org/wiki/Zend_Framework http://meiobit.com/32162/compare-as-linguagens-de-programacao/ E experiência pessoal. Fontes e referências