Inlägg taggade: ini-

Snabbstart Symfony DI (Dependency Injection) Tutorial

Genom , lördag 14 augusti 2010 14:21

Vad är Dependency Injection (DI)?

Dependency Injection är en teknik som möjliggör löst kopplade objekt inom ett program. Generellt om ett föremål kräver tillgång till funktionaliteten av ett annat skulle det vara instansieras internt leder till tätt kopplade system. Genom att implementera beroendeinjektion vi injicera önskade objekt klar för användning (ibland även kallat Inversion of Control - IOC). Ta följande exempel:

  <? Php
 klass DecisionMaker {
     public function makeDecision (matris $ parametrar) {
         / / Behöver databasen adaptern
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parametrar);
         / * ...  Några fler beslut logik ...  * /
         avkastning ($ parameterScore> 50);
     }
 } 

Denna bit kod sägs vara tätt kopplade till DecisionParameters objektet. Skriva ovanstående i en löst kopplade sätt vi skulle ha något liknande ....

  <? Php
 klass DecisionMaker {
     privat $ _dp;
     offentlig funktion __construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     public function makeDecision (matris $ parametrar) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametrar);
         / * ...  Några fler beslut logik ...  * /
         avkastning ($ parameterScore> 50);
     }
 } 

Även att få fördelarna med löst kopplade kod vi lägger till komplexitet så att varje gång ett objekt instansieras måste vi också instansiera dess beroenden och förmedla dessa i också. Till exempel detta:

  $ Val = new DecisionMaker ();
 echo $ val-> makeDecision (array ('satsning' => 'låg', 'tillbaka' => 'hög')); 

nu blir:

  $ Dp = new DecisionParameters ();
 $ Val = new DecisionMaker ($ dp);
 echo $ val-> makeDecision (array ('satsning' => 'låg', 'tillbaka' => 'hög')); 

Denna situation blir mer smärtsam eftersom antalet beroenden för en klass ökar och vad händer om beroenden själva har beroenden? Detta kan ganska snabbt bli ett objekt administration mardröm! Skriv behållare beroende injektion (eller ramar) ...
Fortsätt läsa "Quick Start Symfony DI (Dependency Injection) Tutorial '»

Route begäran om sitemap.xml till anpassade kontroller / åtgärder

Genom , onsdag 6 januari 2010 12:13

För att en direkt begäran om / sitemap.xml till en egen controller och åtgärder i ditt Zend Framework ansökan att helt enkelt lägga till följande i din application.ini eller alternativa config-filen (t.ex. jag använder navigation.ini):

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

Exempel kod för utmatning kan ses genom att skapa en åtgärd i rätt styrenhet (t.ex. min webbplatskarta ligger i indexet regulatorn, sitemap åtgärd):

 < php
 klass IndexController
     sträcker Zend_Controller_Action
 {
     / **
      * Återger en webbplatskarta baserat på Zend_Navigation installation
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> Visa-> navigering () -> sajtkarta ();
    	 $ This-> Visa-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Webbplatskartor kan snabbt och enkelt tas fram med Zend_Navigation , är en stor snabb tutorial (och i allmänhet mycket användbart för Zend Framework tutorials) Zend Kastar - Dynamiskt skapa en meny en webbplatskarta och ströbröd .













Panorama Tema av Themocracy

9 besökare online nu
7 gäster, 2 bots, 0 medlemmar
Max besökare idag: 18 kl 04:13 UTC
Denna månad: 19 på 19-08-2011 06:09 UTC
I år: 130 på 28-03-2011 22:40 UTC
Tiderna: 130 på 28-03-2011 10:40 UTC