Príspevky označené: ini

Quick Start Symfony DI (Dependency Injection) výučba

Tým, , v sobotu 14 augusta 2010 14:21

Čo je Dependency Injection (DI)?

Dependency Injection je technika, ktorá umožňuje voľne viazaných objektov v rámci aplikácie. Všeobecne, ak objekt vyžaduje prístup k funkciám iného by bolo inštancie vnútorne vedie k pevne spojený systémov. Realizáciou Dependency Injection si aplikujte potrebné objekty pripravené na použitie (niekedy tiež odvolával sa na opak riadenie - IOC). Vezmite si nasledujúci príklad:

  <? Php
 Trieda DecisionMaker {
     public function makeDecision (array $ parametre) {
         / / Potrebujeme databáze adaptér
         $ Dp = new DecisionParameters ();
         ParameterScore $ = $ DP-> getScore ($ parametre);
         / * ...  Niektoré ďalšie logiky rozhodovaní ...  * /
         návratnosť ($ parameterScore> 50);
     }
 } 

Tento kus kódu sa hovorí, že pevne spojený s DecisionParameters objektu. Prepisovanie vyššie voľne viazaných spôsobom by sme si niečo také ....

  <? Php
 Trieda DecisionMaker {
     private $ _dp;
     public function __construct ($ dp) {
         $ This-> _dp = $ DP;
     }
     public function makeDecision (array $ parametre) {
         ParameterScore $ = $ this-> _dp-> getScore ($ parametre);
         / * ...  Niektoré ďalšie logiky rozhodovaní ...  * /
         návratnosť ($ parameterScore> 50);
     }
 } 

Kým získanie výhody voľne viazané kódu pridávame zložitosti tak, že zakaždým, keď je objekt inštancie musíme tiež jeho závislosti inštanciu a odovzdať tieto príliš. Napríklad tento:

  $ Voľby = new DecisionMaker ();
 echo $ voľby-> makeDecision (array ('úsilie' => 'nízke', 'návrat' => 'vysokú')); 

Teraz sa stáva:

  $ Dp = new DecisionParameters ();
 $ Voľby = new DecisionMaker ($ dp);
 echo $ voľby-> makeDecision (array ('úsilie' => 'nízke', 'návrat' => 'vysokú')); 

Táto situácia sa stáva bolestivé ako počet závislostí triedy sa zvyšuje, a čo keď závislostí sami so závislosťou? To môže veľmi rýchlo stať predmetom správy nočná mora! Zadajte kontajnery Dependency Injection (alebo rámca) ...
Pokračovať v čítaní "Quick Start Symfony DI (Dependency Injection) Seminár" »

Trasa žiadosti o sitemap.xml na vlastné riadiace / akcia

Tým, , v stredu 06.01.2010 00:13

Aby bolo možné žiadosti o priame / sitemap.xml na vlastné radič a akcie v Zend Framework aplikácie stačí pridať nasledujúce v application.ini alebo alternatívnym konfiguračnom súbore (napr. ja používam navigation.ini):

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

Napríklad kód pre výstup môže byť videný tým, že vytvorí akcie v príslušnej ovládača (napr. moja mapa stránok spočíva v riadiacej index, mapa webu akcie):

 < php
 Trieda IndexController
     rozširuje Zend_Controller_Action
 {
     / **
      * Poskytuje Sitemap na základe Zend_Navigation nastavenie
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> Zobraziť-> Navigácia () -> Mapa ();
    	 $ This-> Zobraziť-> Layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Súbory Sitemap je možné ľahko a rýchlo generovať pomocou Zend_Navigation , skvelý rýchly tutorial (a všeobecne veľmi užitočné pre Zend tutoriály Framework) je Zend Odliatky - dynamicky vytvára menu Sitemap a strúhanke .













Panorama Téma, ktoré Themocracy

8 Užívateľov online
4 osoby, 4 topánky, 0 členov
Max návštevníkov dnes: 16 v 01:31 UTC
Tento mesiac: 19 v 19-08-2011 06:09 GMT
Tento rok: 130 u 28-03-2011 22:40 GMT
Za celé obdobie: 130 u 28-03-2011 22:40 GMT