Posts tagged: ini

Quick Start Symfony DI (injecţie de dependenţă) Tutorial

Prin , simbata 14 august 2010 14:21

Ce este de injecţie de dependenţă (DI)?

Injecţie Dependenţa este o tehnica care permite pentru obiecte cuplate slab în termen de o aplicaţie software. În general, dacă un obiect necesită acces la funcţionalitatea de altul, ar fi instantiata intern duce la sistemele de strâns cuplate. Prin punerea în aplicare a injecţie de dependenţă am injectaţi obiectele necesare gata pentru utilizare (uneori, de asemenea, referire la inversarea de control - COI). Luaţi următorul exemplu:

  <? Php
 clasa DecisionMaker {
     makeDecision funcţiei publice (array $ parametri) {
         / / Ai nevoie de adaptor bazei de date
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parametri);
         / * ...  Unele mai mult decizia de logica ...  * /
         întoarcere ($ parameterScore> 50);
     }
 } 

Această bucată de cod se spune că este strans cuplate la obiect DecisionParameters. Rescrierea de mai sus într-un mod slab cuplate am avea ceva de genul ....

  <? Php
 clasa DecisionMaker {
     $ _dp privat;
     funcţiei publice __construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     makeDecision funcţiei publice (array $ parametri) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametri);
         / * ...  Unele mai mult decizia de logica ...  * /
         întoarcere ($ parameterScore> 50);
     }
 } 

În timp ce, beneficiind de cod slab cuplate suntem adăugarea de complexitate, astfel încât de fiecare dată când un obiect este instantiat De asemenea, trebuie să instantia dependenţele sale şi să treacă în aceste prea. De exemplu, aceasta:

  $ Alegere = DecisionMaker noi ();
 echo $ alegere-> makeDecision (array ('efort' => "scăzut", "returnare" => 'mare')); 

devine acum:

  $ Dp = new DecisionParameters ();
 $ Alegere = new DecisionMaker ($ dp);
 echo $ alegere-> makeDecision (array ('efort' => "scăzut", "returnare" => 'mare')); 

Această situaţie devine mai dureroasa ca numărul de dependenţe pentru o clasă este crescut, şi ce dacă dependenţe însele au dependenţe? Acest lucru poate deveni destul de repede o administraţie coşmar obiect! Introduceţi containere dependenţă injecţie (sau cadre) ...
Continuaţi lectură "Quick Start Symfony DI (injecţie de dependenţă) Tutorial '»

Cererile privind rutele sitemap.xml la controler particularizate / acţiune

Prin , miercuri, 06 ianuarie 2010 12:13

În scopul de a solicitărilor directe pentru / sitemap.xml la un controler personalizat şi de acţiune în dumneavoastră Zend Framework adăugaţi aplicaţie pur şi simplu următorul text în application.ini sau fişier de configurare alternative (de exemplu, eu folosesc navigation.ini):

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

Codul de exemplu pentru scoate pot fi văzute prin crearea unei acţiuni în controlerul corespunzătoare (de exemplu, Sitemap-ul meu se află în controlerul de index, sitemap acţiune):

 < php
 clasa IndexController
     extinde Zend_Controller_Action
 {
     / **
      * Prestează un Sitemap pe baza de configurare Zend_Navigation
      * /
     sitemapAction funcţia publică ()
     {
    	 echo $ this-> view-> navigare () -> sitemap ();
    	 $ This-> view-> aspect () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps poate rapid şi uşor să fie generate folosind Zend_Navigation , un tutorial mare rapidă (şi, în general, foarte util pentru Zend tutoriale-cadru) este Zend Distributie - crearea dinamic un meniu un Sitemap şi pesmet .













Tema Panorama de Themocracy

10 vizitatori on-line acum
6 persoane, 4 impotriva, 0 membrii
Max vizitatori azi: 17 la 02:46 UTC
Aceasta luna: 23 la 24-08-2011 05:40 UTC
Acest an: 130 la 28-03-2011 22:40 UTC
Tot timpul: 130 la 28-03-2011 10:40 UTC