Tagged Locatie: ini

Quick Start Symfony DI (Dependency Injection) Tutorial

Door , zaterdag 14 augustus 2010 14:21

Wat is Dependency Injection (DI)?

Dependency injection is een techniek die het mogelijk maakt voor los gekoppelde objecten in een softwaretoepassing. Over het algemeen als een object moet de toegang tot de functionaliteit van een ander zou worden geïnstantieerd intern leidt tot strak gekoppelde systemen. Door de implementatie van dependency injection we Injecteer het benodigde objecten klaar voor gebruik (ook wel aangeduid met omkering van controle - IOC). Neem het volgende voorbeeld:

  <? Php
 class DecisionMaker {
     publieke functie makeDecision (array $ parameters) {
         / / Noodzaak van de database adapter
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parameters);
         / * ...  Sommige meer beslissing logica ...  * /
         return ($ parameterScore> 50);
     }
 } 

Dit stuk van de code is gezegd dat nauw worden gekoppeld aan de DecisionParameters object. Het herschrijven van de hierboven in een losjes gekoppelde manier we iets hebben als ....

  <? Php
 class DecisionMaker {
     private $ _dp;
     public function __construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     publieke functie makeDecision (array $ parameters) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parameters);
         / * ...  Sommige meer beslissing logica ...  * /
         return ($ parameterScore> 50);
     }
 } 

Terwijl het verkrijgen van de voordelen van losjes gekoppelde code die we zijn het toevoegen van complexiteit zodanig dat elke keer dat een object wordt geïnstantieerd moeten we ook de afhankelijkheden instantiëren en deze pas in ook. Bijvoorbeeld deze:

  $ Keuze = new DecisionMaker ();
 echo $ keuze-> makeDecision (array ('inspanning' => 'low', 'return' => 'high')); 

wordt nu:

  $ Dp = new DecisionParameters ();
 $ Keuze = new DecisionMaker ($ dp);
 echo $ keuze-> makeDecision (array ('inspanning' => 'low', 'return' => 'high')); 

Deze situatie wordt steeds pijnlijker naarmate het aantal afhankelijkheden voor een klasse wordt verhoogd, en wat als de afhankelijkheden zelf hebben afhankelijkheden? Dit kan heel snel een object administratie nachtmerrie! Geef dependency injection containers (of kaders) ...
Continue reading 'Quick Start Symfony DI (Dependency Injection) Tutorial' »

Route verzoeken om sitemap.xml om aangepaste controller / actie

Door , woensdag 06 januari 2010 0:13

Met het oog op rechtstreekse verzoeken om / sitemap.xml om een aangepaste controller en actie in uw Zend Framework applicatie eenvoudig toe te voegen het volgende in uw application.ini of alternatieve config-bestand (bijv. ik gebruik navigation.ini):

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

Voorbeeld code voor het uitvoeren van kan worden gezien door het creëren van een actie in de juiste controller (bv. mijn sitemap ligt in de index controller, sitemap actie):

 < php
 klasse IndexController
     breidt Zend_Controller_Action
 {
     / **
      * Renders een sitemap op basis van Zend_Navigation setup
      * /
     publieke functie sitemapAction ()
     {
    	 echo $ this-> view-> navigatie () -> sitemap ();
    	 $ This-> view-> lay-out () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps kunnen snel en eenvoudig worden gegenereerd met behulp van Zend_Navigation , een geweldig snelle tutorial (en over het algemeen zeer nuttig voor het Zend Framework tutorials) is Zend Afgietsels - dynamisch maken van een menu een sitemap en paneermeel .













Panorama Thema door Themocracy

7 bezoekers nu online
6 gasten, 1 bots, 0 leden
Max bezoekers vandaag: 11 om 23:07 UTC
Deze maand: 16 op 04-08-2011 0:59 GMT
Dit jaar: 130 op 28-03-2011 22:40 GMT
All time: 130 op 28-03-2011 22:40 GMT