Category: Symfony

Quick Symfony Fillimi DI (Injection varësisë) Tutorial

Nga , e shtune 14 gusht 2010 02:21

Çfarë është Injection varësisë (DI)?

Injeksion varësisë është një teknikë që lejon për objektet e shoqëruar lirshëm brenda një software application. Në përgjithësi, nëse një objekt kërkon qasje në funksionalitetin e një tjetër ajo do të jetë instantiated brenda vendit që çon në sistemet e shoqëruar fort. Duke zbatuar injeksion varësisë ne injektuar objektet e nevojshme gati për përdorim (nganjëherë referuar edhe përmbysja e kontrollit - IOC). Merrni shembullin e mëposhtëm:

  <? Php
 klasë DecisionMaker {
     makeDecision publike function (array $ parametrat) {
         / / Nevoja përshtatës të dhënave
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parametrat);
         / * ...  Logjika e disa më shumë vendim ...  * /
         kthimit ($ parameterScore> 50);
     }
 } 

Kjo pjesë e kodit është thënë të jetë e shoqëruar ngushtë me objektin DecisionParameters. Rishkrimin e mësipërme në një mënyrë të shoqëruar lirshëm ne do të kemi diçka si ....

  <? Php
 klasë DecisionMaker {
     private $ _dp;
     __construct publike function ($ PD) {
         $ This-> _dp = $ dp;
     }
     makeDecision publike function (array $ parametrat) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametrat);
         / * ...  Logjika e disa më shumë vendim ...  * /
         kthimit ($ parameterScore> 50);
     }
 } 

Ndërsa duke fituar të mirat e kodit të shoqëruar lirshëm ne jemi duke shtuar kompleksitetit të tillë që çdo herë që një objekt është instantiated ne gjithashtu duhet të ilustroj me shembull konkret varësi të saj dhe të kalojë këto në shumë. Për shembull, këtë:

  $ Zgjedhja = DecisionMaker ri ();
 echo $ zgjedhje-> makeDecision (array ('përpjekjeve' => 'të ulët', 'Kthehu' => 'të lartë')); 

tani bëhet:

  $ Dp = new DecisionParameters ();
 $ Zgjedhja = new DecisionMaker ($ PD);
 echo $ zgjedhje-> makeDecision (array ('përpjekjeve' => 'të ulët', 'Kthehu' => 'të lartë')); 

Kjo situatë bëhet më e dhimbshme si numri e varësisë për një klasë është rritur, dhe çka nëse varësinë vetë kanë varësi? Kjo mund shumë shpejt të bëhet një administratë objekt ankth! Shkruani enë injeksion varësisë (ose kornizave) ...
Vazhdo leximin 'e Shpejta Symfony Fillim DI Tutorial (Injection varësisë)' »













Theme Panorama nga Themocracy

5 vizitorë në linjë
1 vizitorë, 4 bots, 0 anëtarë
Max vizitorët sot: 15 at 6:43 UTC
Këtë muaj: 19 at 6:09 UTC 19-08-2011
Këtë vit: 130 at 22:40 UTC 28-03-2011
Gjithë kohës: 130 at 22:40 UTC 28-03-2011