Wisher
Upcoming SlideShare
Loading in...5
×
 

Wisher

on

  • 262 views

Introdução a componentes refatorados e novos da Zend Framework 2

Introdução a componentes refatorados e novos da Zend Framework 2

Statistics

Views

Total Views
262
Slideshare-icon Views on SlideShare
262
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Wisher Wisher Presentation Transcript

    • Patterns
    • ZF2 Patterns Ramon Henrique Ornelas Twitter: @ramonornela Github: http://github.com/ramonornela 13 de Novembro de 2011
    • Namespaces
    • Namespaces- Cada arquivo de classe declara um namespace;- Um namespace por arquivo;- Qualquer classe que não usa o namespace atual (ou subnamespace) é importado e, normalmente, alias;- Resolução Global é desencorajada, exceto no caso de classes referenciadas em strings. 13 de Novembro de 2011
    • Autoloading
    • Problemas- Muitas classes são carregadas sem necessidade;- Faltando require_once em alguns componentes; Exemplo issue http://framework.zend.com/issues/browse/ZF-10291 13 de Novembro de 2011
    • Melhorias- Retirada as chamadas require_once;- Segue PSR-0; - PSR = PHP Standards Recomendation - Libs que seguem está recomendação: Symfony, Doctrine, Zend Framework, PEAR2/Pyrus, Lithium, Agavi, etc. - Com isto permitirá carregar classes de 1 ou mais bibliotecas diferentes com um único autoloader e um único include path; - SplClassLoader! http://gist.github.com/221634 virá na versão 5.4 o/.- Oferece múltiplas abordagens - ZF1 style; - Por namespace/vendor prefixo (convenção de nomenclatura ZF1) autoloading; - Class Map autoloading; - Module autoloading; - Resource autoloading; 13 de Novembro de 2011
    • PerformanceClass-Map mostram uma melhora de 25% sobre o autoloader ZF1 sem aceleração. - E melhorias 60-85%, quando estiver no cache opcode.Namespaces / prefixos com caminhos específicos mostra ganhos de 10% sem aceleração. - E 40% quando melhorias de cache opcode. 13 de Novembro de 2011
    • Plugin loading
    • Plugins???- Action e view helpers; - Adapters; - Filter e Validators quando usados com Form (também os decoradores) e InputFilter. 13 de Novembro de 2011
    • Problema- Maneiras distintas para resolver dinamicamente as classes de plugin. - Caminhos relativos à classe chamada; - Caminho caminho-pilhas (mais comum); - Setters para indicar as classes;- Abordagem comum é a pior; - Desempenho ruim; (performance); - Difícil depuração; 13 de Novembro de 2011
    • Locator Precedência- Mapa definidos no gerenciador de plugin de concreto;- Mapas estáticos (registo mais recente tem precedência);- Mapeamento passados ​na instância;- Mapeamento explícito. 13 de Novembro de 2011
    • Lazy Loading Plugin Broker- Registra “specs” para o broker (dependência);- Quando esse plugin é solicitado, as opções fornecidas serão usadas a menos que novas opções sejam fornecidas. 13 de Novembro de 2011
    • Event Manager
    • Problema- Como introduzir debug/logging na framework?- Como permitir implementação de cache pelos utilizadores?- Como permitir utilizadores introduzir filtros e validações? 13 de Novembro de 2011
    • Requisitos- Razoavelmente fácil de entender;- Permitir a interrupção da execução- Permitir a priorização de manipuladores;- Capacidade para anexar ao evento muitos componentes de emissão de uma só vez. 13 de Novembro de 2011
    • Terminologia- Um Event Manager é um objeto que agrega os ouvintes para um ou mais eventos com nome, e que desencadeia eventos;- Um Listener é um retorno que pode reagir a um evento;- Um Event é uma ação. 13 de Novembro de 2011
    • Casos de uso- Implementação simples do padrão (pattern) observer;- Implementação Orientada a Aspectos;- Implementação de event-driven arquiteturas. 13 de Novembro de 2011
    • Dependency Injection
    • Simples Definição- Define maneiras de passar as dependências a um objeto. 13 de Novembro de 2011
    • Di vs DiC- Di é um pattern;- Dic (Container) é uma ferramenta; 13 de Novembro de 2011
    • ZendDiDefinitionDefinições é o lugar onde ZendDi tenta compreender a estrutura do código. 13 de Novembro de 2011
    • OBRIGADO!!!