Příspěvky označené: ini

Quick Start Symfony DI (Dependency Injection) výuka

Tím, , v sobotu 14 srpna 2010 14:21

Co je Dependency Injection (DI)?

Dependency Injection je technika, která umožňuje volně vázaných objektů v rámci aplikace. Obecně, pokud objekt vyžaduje přístup k funkcím jiného by bylo instance vnitřně vede k pevně spojený systémů. Realizací Dependency Injection si aplikujte potřebné objekty připravené k použití (někdy také odkazoval se na opak řízení - IOC). Vezměte si následující příklad:

  <? Php
 Třída DecisionMaker {
     public function makeDecision (array $ parametry) {
         / / Potřebujeme databázi adaptér
         $ Dp = new DecisionParameters ();
         ParameterScore $ = $ DP-> getScore ($ parametry);
         / * ...  Některé další logiky rozhodování ...  * /
         návratnost ($ parameterScore> 50);
     }
 } 

Tento kus kódu se říká, že pevně spojen s DecisionParameters objektu. Přepisování výše volně vázaných způsobem bychom si něco takového ....

  <? Php
 Třída DecisionMaker {
     private $ _dp;
     public function __construct ($ dp) {
         $ This-> _dp = $ DP;
     }
     public function makeDecision (array $ parametry) {
         ParameterScore $ = $ this-> _dp-> getScore ($ parametry);
         / * ...  Některé další logiky rozhodování ...  * /
         návratnost ($ parameterScore> 50);
     }
 } 

Zatímco získání výhody volně vázané kódu přidáváme složitosti tak, že pokaždé, když je objekt instance musíme také jeho závislosti instanci a předat tyto příliš. Například tento:

  $ Volby = new DecisionMaker ();
 echo $ volby-> makeDecision (array ('úsilí' => 'nízké', 'návrat' => 'vysokou')); 

Nyní se stává:

  $ Dp = new DecisionParameters ();
 $ Volby = new DecisionMaker ($ dp);
 echo $ volby-> makeDecision (array ('úsilí' => 'nízké', 'návrat' => 'vysokou')); 

Tato situace se stává bolestivé jako počet závislostí třídy se zvyšuje, a co když závislostí sami se závislostí? To může velmi rychle stát předmětem správy noční můra! Zadejte kontejnery Dependency Injection (nebo rámce) ...
Pokračovat ve čtení "Quick Start Symfony DI (Dependency Injection) Seminář" »

Trasa žádosti o sitemap.xml na vlastní řídicí / akce

Tím, , ve středu 06.01.2010 00:13

Aby bylo možné žádosti o přímé / sitemap.xml na vlastní řadič a akce v Zend Framework aplikace stačí přidat následující v application.ini nebo alternativním konfiguračním souboru (např. já používám navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = mapa stránek

Například kód pro výstup může být viděn tím, že vytvoří akce v příslušné ovladače (např. moje mapa stránek spočívá v řídící index, mapa webu akce):

 < php
 Třída IndexController
     rozšiřuje Zend_Controller_Action
 {
     / **
      * Poskytuje Sitemap na základě Zend_Navigation nastavení
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> Zobrazit-> Navigace () -> Mapa ();
    	 $ This-> Zobrazit-> Layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Soubory Sitemap lze snadno a rychle generovat pomocí Zend_Navigation , skvělý rychlý tutorial (a obecně velmi užitečné pro Zend tutoriály Framework) je Zend Odlitky - dynamicky vytváří menu Sitemap a strouhance .













Panorama Téma, které Themocracy

8 Uživatelů online
7 osob, 1 roboty, 0 členů
Max návštěvníků dnes: 16 v 12:59 UTC
Tento měsíc: 19 v 19-08-2011 06:09 UTC
Tento rok: 130 u 28-03-2011 22:40 UTC
Za celé období: 130 u 28-03-2011 22:40 UTC