Post tag: lalagyan

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' »

Dynamic na magdagdag ng mga pahina sa lalagyan ng Zend_Navigation sa runtime

, Huwebes ika-7 Enero 2010 10:50 pm

Sa isang pagpapatuloy sa aking huling post tungkol sa mga Zend_Navigation, ang mga kahilingan ng Ruta para sitemap.xml sa pasadyang controller / aksyon , ang post na ito ay tungkol sa dymnamically pagdaragdag ng mga pahina sa isang lalagyan ng Zend_Navigation sa pagpapatupad ng runtime / script.

Nito ang lahat ng mahusay at magandang pagtukoy ng iyong mga pahina sa isang ini o xml file ngunit sa ilang mga punto kayo ay pagpunta sa na pagbabago ng mga pahina sa iyong site na gusto mo bilang bahagi ng isang menu, sitemap, o upang maisama sa iyong breadcrumb tugaygayan. Samakatuwid kung ano ang kailangan naming gawin ay magdagdag ng mga pahina sa ang aming Zend_Navigation lalagyan sa runtime. Ang mga halimbawa para sa ay magiging sa pagdagdag ng mga item ng balita, blog post, o mga pahina ng mga komento, atbp.

Magpatuloy sa pagbabasa 'dynamic na magdagdag ng mga pahina sa Zend_Navigation lalagyan sa runtime' »













Panorama Tema sa pamamagitan ng Themocracy

9 mga bisita sa online ngayon
5 mga bisita, 4 bot, 0 miyembro
Max mga bisita ngayon: 23 sa 07:18 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