Posts tagged: ini

Quick Start Symfony DI (Dependency Injection) Tutorial

Por , sábado 14 de agosto de 2010 14:21

O que é Injeção de Dependência (DI)?

Injeção de dependência é uma técnica que permite a objetos fracamente acoplados dentro de um aplicativo de software. Geralmente, se um objeto requer acesso à funcionalidade de um outro que seria instanciado internamente levando a sistemas fortemente acoplados. Através da implementação de injeção de dependência que injetar os objetos necessários pronto para uso (por vezes também referida inversão de controle - COI). Tome o seguinte exemplo:

  <? Php
 decisor classe {
     makeDecision função pública (array $ parameters) {
         / / Precisa de um adaptador de banco de dados
         $ Dp = new DecisionParameters ();
         ParameterScore $ = $ dp-> getScore ($ parametros);
         / * ...  Lógica de decisão um pouco mais ...  * /
         return ($ parameterScore> 50);
     }
 } 

Este pedaço de código é dito ser fortemente acoplados ao objeto DecisionParameters. Reescrever o acima de uma forma flexível, teríamos algo como ....

  <? Php
 decisor classe {
     private $ _dp;
     public function __construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     makeDecision função pública (array $ parameters) {
         ParameterScore $ = $ this-> _dp-> getScore ($ parametros);
         / * ...  Lógica de decisão um pouco mais ...  * /
         return ($ parameterScore> 50);
     }
 } 

Embora a ganhar os benefícios de código de baixo acoplamento estamos adicionando complexidade tal que cada vez que um objeto é instanciado também temos que instanciar suas dependências e passar estes em demasiado. Por exemplo, esta:

  = $ Escolha decisor new ();
 echo $ escolha> makeDecision (array ('esforço' => 'baixo', 'return' => 'alta')); 

torna-se agora:

  $ Dp = new DecisionParameters ();
 $ Escolha = new decisor ($ dp);
 echo $ escolha> makeDecision (array ('esforço' => 'baixo', 'return' => 'alta')); 

Esta situação torna-se mais doloroso como o número de dependências de uma classe é aumentado, e que se as dependências próprias dependências? Isto pode rapidamente se tornar um pesadelo administração objeto! Digite recipientes de injeção de dependência (ou frameworks) ...
Continue lendo 'Quick Start Symfony DI Tutorial (Dependency Injection) »»

Encaminhar pedidos de sitemap.xml para o controlador custom / ação

Por , quarta-feira 6 de janeiro de 2010 12:13

, A fim de pedidos directos de / sitemap.xml para um controlador de costume e ação em sua Zend Framework aplicativo basta adicionar o seguinte em seu application.ini ou arquivo de configuração alternativo (por exemplo, eu uso navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = índice
 resources.router.routes.sitemap.defaults.action = sitemap

Código de exemplo para a saída pode ser visto através da criação de uma ação no controlador apropriado (por exemplo, o meu sitemap reside no controlador de índice, a ação sitemap):

 < php
 classe IndexController
     estende Zend_Controller_Action
 {
     / **
      * Renderiza um sitemap com base na configuração Zend_Navigation
      * /
     sitemapAction função pública ()
     {
    	 echo $ this-> view-> navegação () -> sitemap ();
    	 $ This-> view-> layout () -> disableLayout ();
    	 $ This-> _helper-> ViewRenderer-> setNoRender (true);
     }
 }

Sitemaps pode rapidamente e facilmente ser gerada usando Zend_Navigation , um ótimo tutorial rápida (e geralmente muito útil para tutoriais Zend Framework) é Zend Casts - Dinamicamente criar um menu de um sitemap e pão ralado .













Tema por Panorama Themocracy

7 visitantes online agora
2 visitantes, 5 bots, 0 membros
Max visitantes hoje: 17 a 06:54 UTC
Este mês: 17 em 18-08-2011 06:54 UTC
Este ano: 130 em 28-03-2011 22:40 UTC
Todos os tempos: 130 em 28-03-2011 10:40 UTC