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
14. 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()
15. 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()
18. 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
19. Vários tipos de campos
Índice, armazenado em arquivo binário
Otimização de Índices
Charset padrão: UTF-8
34. 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)
36. Decorators
Configuram a renderização dos
elementos
Podem adicionar conteúdo antes ou
depois dos elementos
Exemplo: HTML tag <dd> antes de um
<input />
39. 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]
40. 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)
41. Zend_Registry Container de objetos no
escopo da aplicação
Zend_Registry::set($chave, $objeto)
Zend_Registry::get($chave)
Zend_Registry::isRegistered($chave)
42. 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
43. Zend_Loader Auxilia a carregar
arquivos dinamicamente
Zend_Loader::loadFile($filename)
Zend_Loader::loadClass($class)
Substitui '_' por '/' e adiciona '.php' ao
final
44. 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
47. Zend_Locale Linguagem e região do
usuário
Formatação, normalização, conversões
BROWSER, ENVIRONMENT,
FRAMEWORK
getLanguage(), getRegion()
48. Zend_Translate
Tradução de
conteúdo em vários
idiomas
Adapters:
Array, Csv, Gettext, Qt, Tbx, Tmx, Xliff,
XmlTm
addTranslation(), _(), setLocale(),
getLocale(),
49. Zend_Date
API para manipulação
de datas e tempos
Zend_Date::now()
get(), set(), add(), sub(), compare()
Completamente
internacionalizada (130 idiomas)
50. 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
53. 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
54. 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
56. 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
57. 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
65. 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
66. 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
67. 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!
69. 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
71. 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
72. 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
74. 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.
77. 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;
78. 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”
79. 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