Паведамленні з тэгамі: кантэйнер

Хуткі старт Symfony DI (Dependency Injection) Падручнік

Па , у суботу 14 жніўня 2010 02:21 вечара

Што такое Dependency Injection (DI)?

Залежнасць ін'екцыі тэхніка, якая дазваляе свабодна звязаных аб'ектаў у рамках праграмнага забеспячэння. Наогул, калі аб'ект патрабуе доступу да функцыянальнасці іншага ён будзе створаны ўнутрана вядучых жорстка звязаных сістэм. Ажыццяўляючы ўкараненне залежнасці мы ўводзім неабходныя аб'екты гатовыя да выкарыстання (часам таксама завецца інверсіяй кіравання - МАК). Разгледзім наступны прыклад:

  <? PHP
 твар, якое прымае рашэння класа {
     грамадскіх makeDecision функцыі (масіў $ параметраў) {
         / / Неабходна адаптара БД
         $ Ар = новы DecisionParameters ();
         $ ParameterScore = $ DP-> getScore ($ параметраў);
         / * ...  Яшчэ некалькі рашэнняў логіка ...  * /
         вяртання ($ parameterScore> 50);
     }
 } 

Гэты фрагмент кода, як кажуць, цесна звязаны з аб'ектам DecisionParameters. Перапісванне вышэй у слабосвязанных мода нам давядзецца нешта накшталт ....

  <? PHP
 твар, якое прымае рашэння класа {
     прыватныя $ _dp;
     публічную функцыю __ construct ($ інш) {
         $ Гэта-> _dp = $ інш;
     }
     грамадскіх makeDecision функцыі (масіў $ параметраў) {
         $ ParameterScore = $ гэта-> _dp-> getScore ($ параметраў);
         / * ...  Яшчэ некалькі рашэнняў логіка ...  * /
         вяртання ($ parameterScore> 50);
     }
 } 

У той час як атрыманне пераваг слабосвязанных код, які мы дадаем складанасць такі, што кожны раз, калі ствараецца асобнік аб'екта мы таксама павінны асобнік сваёй залежнасці і перадаць іх у занадта. Напрыклад, гэта:

  $ = Выбар новых твар, якое прымае рашэння ();
 echo $ выбар-> makeDecision (масіў ('высілак' => 'нізкі', 'вяртанне' => 'высокі')); 

зараз выглядае так:

  $ Ар = новы DecisionParameters ();
 $ = Выбар новых твар, якое прымае рашэння ($ інш);
 echo $ выбар-> makeDecision (масіў ('высілак' => 'нізкі', 'вяртанне' => 'высокі')); 

Гэтая сітуацыя становіцца ўсё больш хваравітым, як лік залежнасцяў для класа павялічваецца, і што, калі залежнасць саміх залежнасцяў? Гэта можа даволі хутка стаць аб'ектам кашмар адміністрацыі! Калі ласка, увядзіце залежнасць ін'екцый кантэйнераў (або структуры) ...
Працягнуць чытанне "Хуткі старт Symfony DI (Dependency Injection) Падручнік" »

Дынамічна дадаваць старонкі ў Zend_Navigation кантэйнер падчас выканання

Па , чацвер 7 студзеня 2010 г 10:50 вечара

У працяг на мой апошні пост пра Zend_Navigation, накіроўваць запыты на sitemap.xml звычаю кантролер / дзеянне , гэты пост пра dymnamically дадання старонкі Zend_Navigation кантэйнер падчас выканання / выкананне скрыпту.

Яго ўсё добра указаннем старонак у INI або XML- файл, але ў нейкі момант вам давядзецца змены старонак на вашым сайце, што вы хочаце ўключыць у меню, карты сайта, або быць уключаны ў ваш пройдзенага шляху. Таму тое, што нам трэба зрабіць, гэта дадаць старонках нашага Zend_Navigation кантэйнер падчас выканання. Прыклады для гэтага было б у даданне навін, блогаў або старонак каментароў, і г.д.

Працягнуць чытанне "дынамічна дадаваць старонкі ў Zend_Navigation кантэйнер падчас выканання" »













Панарама Тэма Themocracy

2 наведвальнікаў онлайн
2 гасцей, 0 ботаў, 0 карыстальнікаў
Макс наведвальнікаў сёння: 10 у 3:18 раніцы UTC
У гэтым месяцы: 18 у 2012/05/07 04:35 вечара UTC
У гэтым годзе: 69 у 2012/02/27 09:56 UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC