Tagged Indlæg: INI

Quick Start Symfony DI (Dependency Injection) Tutorial

Ved , Lørdag 14 august 2010 14:21

Hvad er Dependency Injection (DI)?

Afhængighed injektion er en teknik, der giver mulighed for løst koblet objekter i et program. Generelt hvis et objekt kræver adgang til funktionaliteten af ​​en anden det ville være instantieret internt fører til tæt koblede systemer. Ved at implementere afhængighed injektion vi injicere den ønskede objekter klar til brug (undertiden også kaldet inversion af kontrol - IOC). Tag følgende eksempel:

  <? Php
 klasse DecisionMaker {
     offentlig funktion makeDecision (array $ parametre) {
         / / Behov databasen adapter
         $ Dp = ny DecisionParameters ();
         $ ParameterScore = $ DP-> getScore ($ parametre);
         / * ...  Nogle flere af logikken ...  * /
         return ($ parameterScore> 50);
     }
 } 

Dette stykke kode siges at være tæt koblet til DecisionParameters objekt. Omskrivning ovenstående i en løst koblet måde, som vi ville have noget i retning af ....

  <? Php
 klasse DecisionMaker {
     private $ _dp;
     offentlig funktion __construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     offentlig funktion makeDecision (array $ parametre) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametre);
         / * ...  Nogle flere af logikken ...  * /
         return ($ parameterScore> 50);
     }
 } 

Mens få fordelene ved løst koblede kode, vi tilføjer kompleksitet sådan, at hver gang et objekt er instantieret vi også nødt til at instantiere dens afhængigheder og videregive disse i også. For eksempel dette:

  $ Valg = ny DecisionMaker ();
 echo $ valg-> makeDecision (array ('indsats' => 'lav', 'tilbage' => 'høj')); 

nu bliver:

  $ Dp = ny DecisionParameters ();
 $ Valg = ny DecisionMaker ($ dp);
 echo $ valg-> makeDecision (array ('indsats' => 'lav', 'tilbage' => 'høj')); 

Denne situation bliver mere smertefuldt som det antal afhængigheder for en klasse er øget, og hvad nu hvis de afhængigheder selv har afhængigheder? Det kan ret hurtigt blive et objekt administration mareridt! Indtast afhængighed injektion beholdere (eller rammer) ...
Fortsæt læsning 'Quick Start Symfony DI (Dependency Injection) Tutorial' »

Rute anmodninger om sitemap.xml til brugerdefineret controller / handling

Ved , Onsdag 6 jan 2010 12:13

For at direkte anmodninger til / sitemap.xml til en brugerdefineret controller og handling i din Zend Framework ansøgning blot tilføje følgende i din application.ini eller alternative config fil (fx jeg bruger navigation.ini):

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

Eksempel kode for udsende kan ses ved at skabe en handling i det pågældende controller (f.eks mit Sitemap ligger i indekset controlleren, sitemap handling):

 < php
 klasse IndexController
     udvider Zend_Controller_Action
 {
     / **
      * Gør en sitemap baseret på Zend_Navigation setup
      * /
     offentlig funktion sitemapAction ()
     {
    	 echo $ this-> Vis-> navigation () -> Sitemap ();
    	 $ This-> Vis-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps kan hurtigt og let kan genereres ved hjælp af Zend_Navigation , en stor hurtig tutorial (og generelt meget nyttigt for Zend Framework selvstudier) er Zend Afstøbninger - Dynamisk skabe en menu af et Sitemap og rasp .













Panorama Tema ved Themocracy

5 besøgende online nu
2 gæster, 3 bots, 0 medlemmer
Max besøgende i dag: 17 kl 4:02 UTC
Denne måned: 19 kl 19-08-2011 06:09 UTC
I år: 130 kl 28-03-2011 22:40 UTC
Al tid: 130 kl 28-03-2011 10:40 UTC