Posts tagged: ini

Quick Start Symfony DI Tutorial (Inxección de dependencias)

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

¿Que é Inxección de dependencias (DI)?

Inxección de dependencia é unha técnica que permite a obxectos feblemente encaixados dentro dun programa de software. Xeralmente, se un obxecto require acceso á función doutro sería instanciado internamente líder para sistemas estreitamente encaixadas. Por inxección de dependencia implementación injetamos os obxectos necesarios listo para o seu uso (por veces tamén referida investimento de control - IOC). Vexa o seguinte exemplo:

  <? PHP
 decisor clase {
     makeDecision función pública (array $ Parameters) {
         / / Hai que do adaptador de base de datos
         $ DP = new DecisionParameters ();
         ParameterScore $ = $ dp-> getScore (R $ parámetros);
         / * ...  Lóxica de decisión un pouco máis ...  * /
         return ($ parameterScore> 50);
     }
 } 

Este anaco de código está dito para ser firmemente axustado ao obxecto DecisionParameters. Reescrevendo o anterior dun xeito flexible, teriamos algo ....

  <? PHP
 decisor clase {
     private $ _dp;
     public function __ construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     makeDecision función pública (array $ Parameters) {
         ParameterScore $ = $ this-> _dp-> getScore (R $ parámetros);
         / * ...  Lóxica de decisión un pouco máis ...  * /
         return ($ parameterScore> 50);
     }
 } 

A pesar de gañar os beneficios de código de baixo acoplamento estamos engadindo complexidade tal que cada vez que un obxecto é instanciado tamén temos que instanciar súas dependencias e paso-los moito. Por exemplo, este:

  $ Decisor elección = new ();
 echo $ elección> makeDecision (array ('esforzo' => 'Baixar', 'return' => 'alta')); 

torna-se agora:

  $ DP = new DecisionParameters ();
 $ Escolla = new decisor ($ dp);
 echo $ elección> makeDecision (array ('esforzo' => 'Baixar', 'return' => 'alta')); 

Esta situación se fai máis doloroso como o número de dependencias dunha clase é aumentado, e que as dependencias se teñen dependencias? Isto pode rapidamente se tornar un pesadelo administración obxecto! Introduza recipientes inxección de dependencia (ou frameworks) ...
Continúe lendo "Quick Start Symfony DI Tutorial (Inxección de dependencias) '»

Enviar peticións para sitemap.xml para controlador personalizado / acción

Por , Mércores 6 de xaneiro de 2010 12:13 pm

Para pedidos directos de / sitemap.xml para un controlador personalizado e acción no seu Zend Framework aplicación basta engadir o seguinte no seu application.ini ou ficheiro de configuración 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

Exemplo de código para a saída se pode ver a través da creación dunha acción no controlador axeitado (por exemplo, o meu sitemap reside no controlador de índice, a acción sitemap):

 < php
 clase IndexController
     estende Zend_Controller_Action
 {
     / **
      * Procesa un sitemap con base na configuración Zend_Navigation
      * /
     sitemapAction función pública ()
     {
    	 echo $ this-> view-> navegación () -> sitemap ();
    	 $ This-> view-> esquema () -> disableLayout ();
    	 $ This-> _helper-> ViewRenderer-> setNoRender (true);
     }
 }

Sitemaps pode rapidamente e facilmente ser xerada usando Zend_Navigation , un excelente tutorial rápido (e, xeralmente, moi útil para tutoriais Zend Framework) é CASTs Zend - dinamicamente crear un menú dun sitemap e pan relado .













Tema por Panorama Themocracy

5 visitantes en liña agora
4 persoas, 1 bots, 0 membros
Max visitantes hoxe: 11 ás 01:15 am UTC
Este mes: 40 en 23-05-2012 03:33 pm UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC