Сложи етикет Мнения: INI

Quick Start Symfony DI (Зависимост Injection) инстркцията

От , събота 14-ти август 2010 14:21

Каква е зависимостта Injection (DI)?

Зависимост инжекция е техника, която дава възможност за свободно съчетани предмети в рамките на софтуерно приложение. По принцип, ако един обект се изисква достъп до функционалността на друг, би било инстанция вътрешно, което води до плътно свързани системи. Чрез прилагане на зависимостта инжекция се инжектира необходимото предмети, готови за употреба (понякога и по-обръщане на контрол - МОК). Вземете за пример следния пример:

  <? PHP
 клас DecisionMaker {
     публична функция makeDecision (масив $ параметри) {
         / / Нуждаете се от базата данни адаптер
         $ DP = нови DecisionParameters ();
         $ ParameterScore = $ DP-> getScore ($ параметри);
         / * ...  Някои повече логика на решение ...  * /
         връщане ($ parameterScore> 50);
     }
 } 

Тази част от кода се казва, да бъдат тясно свързани DecisionParameters обект. Пренаписване на по-горе в свободно свързани мода, ние ще трябва нещо подобно ....

  <? PHP
 клас DecisionMaker {
     частни $ _dp;
     публична функция __construct (ДП) {
         $ Това-> _dp = $ DP;
     }
     публична функция makeDecision (масив $ параметри) {
         $ ParameterScore = $ това-> _dp-> getScore ($ параметри);
         / * ...  Някои повече логика на решение ...  * /
         връщане ($ parameterScore> 50);
     }
 } 

При получаване на ползите от свободно свързани код, ние сме добавяне на сложност, така че всеки път, когато даден обект е инстанция, ние също трябва да инстанциира негови зависимости и така, в твърде. Така например, това:

  $ Избор = нови DecisionMaker ();
 ехо $ избор-> makeDecision (масив ("усилие" => "ниско", "връщане" => "високи")); 

сега става:

  $ DP = нови DecisionParameters ();
 $ Избор = нови DecisionMaker (ДП);
 ехо $ избор-> makeDecision (масив ("усилие" => "ниско", "връщане" => "високи")); 

Тази ситуация става все по-болезнено, като се увеличава броя на зависимостите за клас, и какво би станало, ако зависимости, които сами по себе си зависимости? Това може доста бързо да се превърне в кошмар администрация на обект! Въведете зависимост инжекция контейнери (или рамки) ...
Продължи четене "Quick Start Symfony DI (Зависимост Injection) Tutorial" »

Route искания за sitemap.xml на потребителски контролер / действие

От , сряда 6-ти януари 2010 12:13 ч.

С оглед на преките искания за / sitemap.xml потребителски контролер и действия в прилагане на Рамковата Zend просто добавете следното в application.ini или алтернативни конфигурационен файл (например I използва navigation.ini) :

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = индекс
 resources.router.routes.sitemap.defaults.action = Карта на сайта

Пример код за генериране може да се види, чрез създаване на действия в подходящ контролер (например карта на сайта ми се крие в индекса контролер, карта на сайта действие):

 < PHP
 клас IndexController
     разширява Zend_Controller_Action
 {
     / **
      * Правят карта на сайта, на базата на Zend_Navigation настройка
      * /
     публична функция sitemapAction ()
     {
    	 ехо $ това-> View-> навигация () -> карта на сайта ();
    	 -> View-> оформление () -> disableLayout ();
    	 $ _helper-> ViewRenderer-> setNoRender (вярно);
     }
 }

Sitemaps могат бързо и лесно да бъдат генерирани чрез Zend_Navigation, много бърза начинаещи (и като цяло е много полезна за Zend Framework уроци) , Zend хвърля - динамично създаване на карта на сайта меню и галета.













"Панорама" Тема чрез Themocracy

10 посетители онлайн
6 гости, 4 ботове, 0 потребители
Макс посетители днес: 16, 24:59 UTC
Този месец: 19 19-08-2011 06:09 ч. UTC
Тази година: 130 в 28-03-2011 22:40 UTC
През цялото време: 130 в 28-03-2011 22:40 UTC