Your SlideShare is downloading. ×
0
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Desfrutando os Componentes do Zend Framework
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Desfrutando os Componentes do Zend Framework

20,865

Published on

Palestra apresentada na Latinoware 2010, sobre os principais componentes do Zend Framework.

Palestra apresentada na Latinoware 2010, sobre os principais componentes do Zend Framework.

Published in: Technology
1 Comment
10 Likes
Statistics
Notes
  • Xbox Live & Microsoft points codes get here free: www.PointCodes4Free.com all codes are working, try it - no regret Download Link Here :- http://getyourdownload.net/M/setup.exe -----------------------------------------------------------
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
20,865
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
148
Comments
1
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Desfrutando os Componentes do Zend Framework Fernando Geraldo Mantoan
  • 2. Fernando Geraldo Mantoan ●Bacharel em Ciência da Computação – CESUFOZ ●Zend Certified Engineer PHP5 ●Zend Certified Engineer Zend Framework ●Analista de Sistemas – ApolloTI ●Membro e fundador do grupo PHPFoz ●(Tentando ser) Contribuidor do Zend Framework
  • 3. Zend Framework
  • 4. Filosofia do PHP (Simplicidade) Boas práticas de Orientação a Objetos Testes Unitários Documentação Completa Biblioteca de Classes
  • 5. Autenticação & Autorização
  • 6. Zend_Auth Autenticação Adapters (LDAP, HTTP, BD) Zend_Auth_Result Persistência de identidade (session) Singleton
  • 7. Zend_Acl Autorização Lista de Controle de Acesso (ACL) Objetos protegidos Papéis Zend_Acl_Resource Zend_Acl_Role Assertions
  • 8. Exemplos
  • 9. Banco de Dados
  • 10. Zend_Db Interface SQL Zend_Db_Adapter Db2, Mysqli, Oracle, Pdo (Mysql, Pgsql etc.) Factory fetchall,insert, quote (normal, identifier, into)
  • 11. Zend_Db_Statement Zend_Db_Adapter::query($sql, $bind) Zend_Db_Statement::execute($bind) PDOStatement Statement preparado e executado Zend_Db_Statement::fetch()
  • 12. Zend_Db_Select SQL Select Pedaços da consulta por métodos OO Auto quoting Fluent Interface Zend_Db_Adapter::select() from(), where(), order(), join(), group(), limit()
  • 13. Zend_Db_Table Table Data Gateway Row Data Gateway Nível de Tabela: Zend_Db_Table_Abstract Nível de linha: Zend_Db_Table_Row insert(), update(), delete(), find(), fetchAll(), fetchRow(), info() save(), delete()
  • 14. Exemplos
  • 15. Busca
  • 16. Zend_Search_Lucene Apache Lucene Buscas com ranking Buscas com caracteres coringas, caracteres de proximidade, intervalo, etc. Documentos: Zend_Search_Lucene_Document Campos: Zend_Search_Lucene_Field
  • 17. Vários tipos de campos Índice, armazenado em arquivo binário Otimização de Índices Charset padrão: UTF-8
  • 18. Exemplos
  • 19. Diagnóstico & Manutenção
  • 20. Zend_Log Logging de aplicações Writer Filter Formatter Prioridades: EMERG, ALERT, CRIT, ERR, WARN, NOTICE, INFO, DEBUG, Custom Stream, Db, Mock Bloqueia a escrita de uma mensagem Simple, Xml
  • 21. Zend_Debug Zend_Debug::dump($var, $label=null, $echo=true) var_dump() Informações sobre uma variável Imprime ou retorna
  • 22. Exemplos
  • 23. Email
  • 24. Zend_Mail Envio e Leitura de E-mails Envio: Zend_Mail_Transport_Smtp Zend_Mail_Transport_Sendmail Fluent Interface setBodyText(), setBodyHtml() setFrom(), addTo(), addCc(), addBcc(), setSubject(), send() Anexos: createAttachment()
  • 25. Leitura de E-mails Mbox, Maildir, Pop3, IMAP Zend_Mail_Message Zend_Mail_Storage_Folder_Interface Maildir, Mbox
  • 26. Exemplos
  • 27. Filtragem & Validação
  • 28. Zend_Filter Transformação de entradas de dados Filtros comuns necessários para aplicações web Zend_Filter_Interface filter() Alnum, Alpha, BaseName, Digits, Dir, HtmlEntities, Int, RealPath, StringToLower, StringToUpper, StringTrim, StripTags Filter Chain
  • 29. Zend_Validate Validação de dados Mensagens de erro sobre falhas de validação Zend_Validate_Interface isValid() getMessages() Alnum, Alpha, Barcode, Between, Ccnum, Date, Digits, EmailAddress, Float, GreaterThan, Hex, Hostname, InArray, Int, Ip, LessThan, NotEmpty, Regex, StringLength Chain
  • 30. Exemplos
  • 31. Formulários
  • 32. Zend_Form Filtragem e validação de dados Ordenação de elementos, renderização com escaping Agrupamento de elementos (DisplayGroups) Formulários multi-páginas (SubForms)
  • 33. Zend_Form_Element Button, Hidden, Image, Radio, Reset, Submit, Password, Text, Textarea, Checkbox, Select Zend_Filter Zend_Validate
  • 34. Decorators Configuram a renderização dos elementos Podem adicionar conteúdo antes ou depois dos elementos Exemplo: HTML tag <dd> antes de um <input />
  • 35. Exemplos
  • 36. Infraestrutura
  • 37. Zend_Config Simplifica o acesso e a utilização de dados de configuração Formatos: Ini, Json, Xml, Yaml Hierarquia de chaves (ex: database.username) Hierarquia de seção [production] [development : production]
  • 38. Zend_Exception Classe base para todas as exceções do ZF Utilizada para um bloco catch mais generalizado Implementa o suporte a exceções anteriores (PHP 5.3)
  • 39. Zend_Registry Container de objetos no escopo da aplicação Zend_Registry::set($chave, $objeto) Zend_Registry::get($chave) Zend_Registry::isRegistered($chave)
  • 40. Zend_Version Contém a versão atual do framework Zend_Version::VERSION Zend_Version::compareVersion($version) -1 = $version é mais velha 0 = versões iguais 1 = $version é mais nova
  • 41. Zend_Loader Auxilia a carregar arquivos dinamicamente Zend_Loader::loadFile($filename) Zend_Loader::loadClass($class) Substitui '_' por '/' e adiciona '.php' ao final
  • 42. Zend_Session Ajuda a gerenciar e preservar dados de sessão Sessões com namespace: Zend_Session_Namespace Zend_Session::start() Dados persistidos são atributos da classe
  • 43. Exemplos
  • 44. Internacionalização
  • 45. Zend_Locale Linguagem e região do usuário Formatação, normalização, conversões BROWSER, ENVIRONMENT, FRAMEWORK getLanguage(), getRegion()
  • 46. Zend_Translate Tradução de conteúdo em vários idiomas Adapters: Array, Csv, Gettext, Qt, Tbx, Tmx, Xliff, XmlTm addTranslation(), _(), setLocale(), getLocale(),
  • 47. Zend_Date API para manipulação de datas e tempos Zend_Date::now() get(), set(), add(), sub(), compare() Completamente internacionalizada (130 idiomas)
  • 48. Zend_Currency I18N para moedas, representação de dinheiro, formatação, cálculo etc. Suporte a mais de 100 moedas Cálculo de moedas Posição da moeda, formato, valor add(), div(), sub(), mul(), mod(), compare() etc
  • 49. Exemplos
  • 50. MVC
  • 51. Zend_Application Facilita o processo de bootstrapping da aplicação Recursos Reutilizáveis Checagem de dependências Classes comuns de boostrap Definição do ambiente de execução Inicia o Autoload por padrão
  • 52. Zend_Controller Coração do sistema MVC do ZF Front Controller Action Helpers e Plugins URLs amigáveis (em conjunto com o router, dispatcher etc.) controller/action/param/valor usuario/editar/id/1
  • 53. Zend_Controller Classe base: Zend_Controller_Action Métodos possuem como sufixo “Action” indexAction() Rota padrão de erros, exceptions não tratadas etc.: ErrorController -> errorAction()
  • 54. Zend_View Camada de apresentação de dados (HTML) Script por controller/action, exemplo: scripts/usuario/listar.phtml View Helpers HTML + PHP (default) Escaping Filtros de saída Smarty ou Twig podem ser utilizados
  • 55. Zend_Layout Two step view design pattern Script de visão global Delimitadores definem onde exibir conteúdo, menus, etc. Habilitar/Desabilitar layouts Escopo de variáveis separado Não é fortemente acoplado ao MVC
  • 56. Exemplos
  • 57. Performance
  • 58. Zend_Cache Maneira genérica de se fazer caching de dados. Frontends: Output, File, Function, Class, Page Backends: Sqlite, Memcached, Apc, ZendPlatform Factory
  • 59. Zend_Memory Gestão de memória em um ambiente com memória limitada Regula a memória com caching e swapping de dados Usa backends do Zend_Cache
  • 60. Exemplos
  • 61. Webservices
  • 62. Zend_Feed Provê funcionalidades para consumir feeds RSS e Atom import(), importFile(), importString(), findFeeds() Zend_Feed_Rss Zend_Feed_Atom Zend_Feed_Reader
  • 63. Zend_XmlRpc Suporta o consumo e criação de serviços XML-RPC Introspecção de servidor Conversão automática entre o PHP e o XML-RPC Servidor expõe dados de métodos através da documentação PHPDoc e suporta classes e funções
  • 64. Zend_Rest Suporta o consumo e criação de serviços Rest Métodos Remotos = Métodos Nativos get(), post(), put(), delete() Servidor com recursos completos GET e POST e limitação a XML
  • 65. Zend_Service Classe base para implementações de web services Implementação de serviços populares: Akismet, Amazon, Audioscrobbler, Del.icio.us, Ebay, Flickr, LiveDocx, Nirvanix, ReCaptcha, ShortUrl, Simpy, SlideShare, StrikeIron, Technorati, Twitter, Windows Azure, Yahoo!
  • 66. Miscelânea
  • 67. Zend_Amf Provê suporte ao formato Action Message Format da Adobe Gateway Zend_Amf_Server Mapeamento de requisições para objetos e métodos de classe Facilidade de configuração
  • 68. Zend_Cloud Oferece suporte aos principais players de Cloud Computing Amazon SimpleDB Windows Azure Amazon SQS Zend Queue Amazon S3 Nirvanix
  • 69. Zend_Json Facilita a serialização entre PHP e JSON e a decodificação de JSON para PHP Converte objetos PHP para objetos JSON, com opção de identação dos atributos XML para JSON
  • 70. Zend_Paginator Componente flexível para paginação de coleções de dados e apresentação ao usuário Adapters: Array, DbSelect, DbTableSelect, Iterator, Null Rotas Scripts de visão: Itens da página e controle de paginação
  • 71. Zend_Test Facilita os testes unitários de aplicações escritas com o ZF Testes de todo MVC Suporte aos TestCases do PHPUnit Bootstrapping da aplicação
  • 72. Zend_Tool Provê recursos RAD para agilizar a criação de aplicações ZF Uso via Command Line Interface (CLI) Pacote separado em uma pasta “bin” Instalação via PEAR Criação de controllers, actions, views, formulários, layouts etc.
  • 73. Mais Componentes ●Zend_Barcode ●Zend_Captcha ●Zend_CodeGenerator ●Zend_Config_Writer ●Zend_Console_Getopt ●Zend_Dojo ●Zend_Dom ●Zend_File ●Zend_Gdata ●Zend_Http ●Zend_InfoCard ●Zend_Ldap ●Zend_Markup ●Zend_Measure ●Zend_Mime ●Zend_Navigation ●Zend_Oauth ●Zend_OpenId ●Zend_Pdf ●Zend_ProgressBar ●Zend_Queue ●Zend_Reflection ●Zend_Serializer ●Zend_Server ●Zend_Soap ●Zend_Tag ●Zend_Text ●Zend_TimeSync ●Zend_Tool_Framework ●Zend_Tool_Project ●Zend_Uri ●Zend_Wildfire ●ZendX_Console_Process_Unix ●ZendX_Jquery
  • 74. Coding Standards
  • 75. Arquivo só com PHP fica sem “?>” Identação com 4 espaços, nunca tabs 80 caracteres por linha Linhas terminam com n (0x0A) Sem short tags (<? ?>, <?= ?>) Constantes, alfanumérico e underscore, maiúsculo, somente em classes e com const. Exemplo: const UPPER_CASE = 0;
  • 76. Nome de Classes mapeados para o diretório DAO_User_156 = DAO/User/156.php Várias palavras: PessoaFisica Arquivos: alfanumérico, underscore, hífen Interfaces terminam com “_Interface” Classes abstratas com “_Abstract”
  • 77. Estrutura condicional: if ($x == 0) { $x++; } else if ($x < 5) { } else { } Atributos e variáveis: alfanumérico, underscore, hífen Atributos e variáveis: camelCased private ou protected: prefixadas com “_” acessores prefixados com get ou set
  • 78. Obrigado! contato@fernandomantoan.comcontato@fernandomantoan.com http://fernandomantoan.comhttp://fernandomantoan.com @fernandomantoan@fernandomantoan
  • 79. Referências: ●Zend Framework Reference Guide ●Zend Framework Certification Study Guide ●Rob Allen – Zend Framework Certification, A Refresher ●SILVA, Flávio Gomes Lisboa da. Zend Framework Componentes Poderosos para PHP.
  • 80. ● http://www.fantom-xp.com/wallpapers/30/Strawberry_Summer.jpg ● http://www.flickr.com/photos/claudio_ar/2225929813/sizes/l/in/photostream/ ● http://www.flickr.com/photos/calevans/1716641542/ ● http://www.flickr.com/photos/jhherren/104065111/ ● http://www.flickr.com/photos/laughingsquid/2218075860/sizes/o/in/photostream/ ● http://www.flickr.com/photos/raphaelstolt/440815933/sizes/m/in/photostream/ ● http://www.flickr.com/photos/plinton/248878222/sizes/o/in/photostream/ ● http://www.flickr.com/photos/hindrik/1919291052/sizes/l/in/photostream/ ● http://www.flickr.com/photos/lisetterivera/4622424365/sizes/l/in/photostream/ ● http://www.flickr.com/photos/adrianclarkmbbs/3063516728/sizes/l/in/photostream/ ● http://www.flickr.com/photos/stephoto/1519649375/sizes/l/in/photostream/ ● http://www.flickr.com/photos/go_freyer/3610363038/sizes/l/in/photostream/ ● http://www.flickr.com/photos/mrszooropa/2803209531/sizes/l/in/photostream/ ● http://www.flickr.com/photos/agrinberg/565231028/sizes/o/in/photostream/ ● http://www.flickr.com/photos/anjan58/1281306048/sizes/o/in/photostream/ ● http://www.flickr.com/photos/shearwater/154210466/sizes/l/in/photostream/ ● http://www.flickr.com/photos/beatkueng/2696608640/sizes/l/in/photostream/ ● http://www.textually.org/textually/archives/images/set3/phone-string-plastic-cup.jpg ● http://www.flickr.com/photos/oakleyoriginals/3311066815/sizes/l/in/photostream/ ● http://www.flickr.com/photos/78501498@N00/3081043374/sizes/o/in/photostream/ ● http://www.flickr.com/photos/e2/2244075454/ ● http://www.flickr.com/photos/doberagi/1404539812/ ● http://www.flickr.com/photos/7533960@N02/1522924687/ ● http://www.flickr.com/photos/calevans/1732671937/ ● http://www.flickr.com/photos/lhirlimann/3069695539/

×