Post tag: ini

Mabilis na Pagsisimula Symfony Di (dependency inyeksyon) Tutorial

, Sabado ika-14 Agosto 2010 14:21

Ano ang dependency iniksyon (Di)?

Dependency iniksyon ay isang pamamaraan na nagbibigay-daan para sa maluwag na kaisa bagay sa loob ng isang application software. Pangkalahatan na kung ang isang bagay ay nangangailangan ng access sa functionality ng ibang ito instantiated sa nangungunang loob sa mga mahigpit kaisa system. Sa pamamagitan ng pagpapatupad ng iniksyon ng dependency namin paturukan ng mga kinakailangang bagay handa para sa paggamit (minsan din-refer sa pagbabaligtad ng control - IOC). Dalhin ang mga sumusunod na halimbawa:

  <? Php
 klase DecisionMaker {
     pampublikong na pagpapaandar makeDecision (array $ parameter) {
         / / Kailangan ng database adaptor
         $ Dp = bagong DecisionParameters ang ();
         $ ParameterScore = $ dp-> getScore ($ parameter);
         / * ...  Ilang higit na lohika desisyon ...  * /
         return ($ parameterScore> 50);
     }
 } 

Ang piraso ng code na ito ay sinabi na mahigpit kaisa sa bagay DecisionParameters. Muling pagsusulat ng sa itaas sa isang maluwag kaisa fashion gusto naming magkaroon ng isang bagay tulad ng ....

  <? Php
 klase DecisionMaker {
     pribadong $ _dp;
     pampublikong function na __ tayuan ($ dp) {
         $ Ito-> _dp = $ dp;
     }
     pampublikong na pagpapaandar makeDecision (array $ parameter) {
         $ ParameterScore = $ ito-> _dp-> getScore ($ parameter);
         / * ...  Ilang higit na lohika desisyon ...  * /
         return ($ parameterScore> 50);
     }
 } 

Habang ang pagkakaroon ng mga benepisyo ng maluwag kaisa code namin ay pagdaragdag sa kumplikado tulad na ang oras sa bawat bagay ng isang instantiated din namin upang magbigay ng halimbawa nito mga dependencies at pumasa ito sa masyadong. Halimbawa, ito:

  $ Pagpipilian = bagong DecisionMaker ();
 alingawngaw $ pinili-> makeDecision (array ('pagsusumikap' => 'mababa', 'return' => 'mataas')); 

ngayon ay magiging:

  $ Dp = bagong DecisionParameters ang ();
 $ Pagpipilian = ng bagong DecisionMaker ($ dp);
 alingawngaw $ pinili-> makeDecision (array ('pagsusumikap' => 'mababa', 'return' => 'mataas')); 

Ang sitwasyon na ito ay magiging mas masakit na ang bilang ng mga dependencies para sa isang klase ay nadagdagan, at kung ano kung ang mga mga dependencies may kanilang sarili dependencies? Ito ay maaaring masyadong mabilis maging isang bagay na pangangasiwa ng bangungot! Magpasok ng dependency iniksyon lalagyan (o frameworks) ...
Magpatuloy sa pagbabasa 'Quick Start Symfony Di (dependency iniksyon) Tutorial' »

Mga ruta kahilingan para sa sitemap.xml sa pasadyang controller / aksyon

, Miyerkules 6 Enero 2010 12:13 am

Sa upang direktang kahilingan para sa / sitemap.xml sa isang pasadyang controller at pagkilos sa iyong application sa Zend Framework lamang idagdag ang sumusunod sa ang iyong application.ini o alternatibong config file (eg ko paggamit navigation.ini):

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

Halimbawa code para sa outputting ay makikita sa pamamagitan ng paglikha ng isang aksyon sa naaangkop na controller (eg ang aking sitemap ay namamalagi sa index ng controller, sitemap aksyon):

 < php
 klase IndexController
     umaabot Zend_Controller_Action
 {
     / **
      * Render ng isang sitemap na batay sa Zend_Navigation setup
      * /
     sitemapAction ng pampublikong function na ()
     {
    	 alingawngaw $ ito-> view ng-> nabigasyon () -> sitemap ();
    	 $ Ito-> view ng-> layout () -> disableLayout ();
    	 $ Ito-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemaps ay maaaring mabilis at madali ay nabuo gamit ang Zend_Navigation , isang mahusay na mabilis na tutorial (at sa pangkalahatan ay lubhang kapaki-pakinabang para sa Zend Framework tutorial) ay mga Zend cast - dynamic na lumikha ng isang menu ng isang sitemap at breadcrumbs .













Panorama Tema sa pamamagitan ng Themocracy

3 mga bisita sa online ngayon
1 mga bisita, 2 bot, 0 miyembro
Max mga bisita ngayon: 19 sa 05:00 am UTC
Sa buwang ito: 26 sa 2012/04/04 10:27 pm UTC
Ito taon: 69 sa 27-02-2012 09:56 am UTC
Lahat ng oras: 130 sa 28-03-2011 10:40 pm UTC