Posts tagged: INI

Rapide Symfony Démarrer DI (Dependency Injection) Tutoriel

Par , le samedi 14 août 2010 14:21

Quel est Dependency Injection (DI)?

L'injection de dépendance est une technique qui permet pour les objets faiblement couplés au sein d'une application logicielle. Généralement, si un objet nécessite l'accès à la fonctionnalité d'un autre, il serait instancié interne conduisant à des systèmes fortement couplés. En mettant en œuvre l'injection de dépendance que nous injectons les objets requis prêt à l'emploi (parfois aussi appelée inversion de contrôle - CIO). Prenons l'exemple suivant:

  <? Php
 Classe DecisionMaker {
     makeDecision fonction publique (array $ paramètres) {
         / / Besoin de l'adaptateur de bases de données
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ paramètres);
         / * ...  Certains logique de décision plus ...  * /
         return ($ parameterScore> 50);
     }
 } 

Ce morceau de code est dit être étroitement couplée à l'objet DecisionParameters. La réécriture du haut d'une manière faiblement couplée, nous aurions quelque chose comme ....

  <? Php
 Classe DecisionMaker {
     private $ _DP;
     public function __construct ($ dp) {
         $ This-> _DP = $ dp;
     }
     makeDecision fonction publique (array $ paramètres) {
         $ ParameterScore = $ this-> _DP-> getScore ($ paramètres);
         / * ...  Certains logique de décision plus ...  * /
         return ($ parameterScore> 50);
     }
 } 

Alors que l'acquisition des avantages du code à couplage lâche, nous ajoutons une telle complexité que chaque fois qu'un objet est instancié nous avons aussi d'instancier ses dépendances et de passer ces trop. Par exemple, ceci:

  $ Choix = DecisionMaker nouvelle ();
 echo $ choix-> makeDecision (array ('efforts' => 'faible', 'retour' => 'haute')); 

devient alors:

  $ Dp = new DecisionParameters ();
 $ Choix = new DecisionMaker ($ dp);
 echo $ choix-> makeDecision (array ('efforts' => 'faible', 'retour' => 'haute')); 

Cette situation devient plus pénible que le nombre de dépendances pour une classe est augmentée, et ce si les dépendances eux-mêmes ont des dépendances? Cela peut très vite devenir un cauchemar administration des objets! Entrez conteneurs injection de dépendance (ou cadres) ...
Continue reading 'rapide Symfony Démarrer DI (Dependency Injection) Tutorial "»

Acheminer les demandes d'sitemap.xml au contrôleur personnalisé / action

Par , Mercredi 6 Janvier 2010 00h13

Afin de demandes directes de / sitemap.xml à un contrôleur de la coutume et l'action dans votre Zend Framework d'application il suffit d'ajouter les éléments suivants dans votre fichier de configuration ou de application.ini alternatives (par exemple, j'utilise navigation.ini):

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

Exemple de code pour la sortie peut être vu par la création d'une action dans le contrôleur approprié (par exemple, mon sitemap réside dans le contrôleur de l'indice, l'action sitemap):

 < php
 Classe IndexController
     étend Zend_Controller_Action
 {
     / **
      * Rend un plan du site basée sur la configuration Zend_Navigation
      * /
     sitemapAction fonction publique ()
     {
    	 echo $ this-> view-> Navigation () -> plan du site ();
    	 $ This-> view-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps peut rapidement et facilement être généré en utilisant Zend_Navigation , un bon tutoriel rapide (et généralement très utile pour les tutoriels Zend Framework) est Zend plâtres - créer dynamiquement un menu un sitemap et la chapelure .













Thème Panorama par Themocracy

9 visiteurs en ligne aujourd'hui
2 invités, 7 bots, 0 membres
Max visiteurs aujourd'hui: 17 à 06:54 UTC
Ce mois-ci: 17 à 06h54 UTC 18-08-2011
Cette année: 130 à 28-03-2011 22:40 UTC
Tout le temps: 130 à 28-03-2011 22:40 UTC