Повідомлення з тегами: іні

Швидкий старт Symfony DI (Dependency Injection) Підручник

За , в суботу 14 серпня 2010 2:21 вечора

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

Вкладення залежності є метод, який дозволяє слабосвязанних об'єктів в додатку. Як правило, якщо об'єкт вимагає доступу до функціональності іншого було б примірник внутрішньо приводить до сильно пов'язаних систем. Здійснюючи впровадження залежності ми вводимо необхідні об'єкти готові до використання (іноді також називається інверсією контролю - МОК). Розглянемо наступний приклад:

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

Цей фрагмент коду, як кажуть, тісно пов'язаний з об'єктом DecisionParameters. Переписуючи вище в слабосвязанних моди ми б щось на зразок ....

  <? PHP
 особа, яка приймає рішення класу {
     приватні $ _dp;
     публічну функцію __construct ($ др) {
         $ Це-> _dp = $ др;
     }
     громадських makeDecision функції (масив $ параметрів) {
         $ = $ ParameterScore цьому-> _dp-> getScore ($ параметрів);
         / * ...  Ще кілька логіки прийняття рішень ...  * /
         повернення ($ parameterScore> 50);
     }
 } 

Хоча отримання переваг слабосвязанних код, який ми додаємо такі складнощі, що кожного разу створюється екземпляр об'єкта ми також повинні інстанціровать його залежності і передати їх в занадто. Наприклад, це:

  $ = Вибір нових особа, яка приймає рішення ();
 Відлуння $ вибір-> makeDecision (масив ('зусилля' => 'низький', 'повернення' => 'високий')); 

Тепер стає:

  $ Др = новий DecisionParameters ();
 $ = Вибір нових особа, яка приймає рішення ($ др);
 Відлуння $ вибір-> makeDecision (масив ('зусилля' => 'низький', 'повернення' => 'високий')); 

Ця ситуація стає все більш болючим, як число залежностей для класу збільшується, і що робити, якщо залежностей самі залежності? Це може дуже швидко стати кошмаром об'єкт адміністрації! Введіть впровадження залежності контейнерів (або рамки) ...
Продовжити читання "Швидкий старт Symfony DI (Dependency Injection) Підручник" »

Маршрут запитів на sitemap.xml звичаєм контролер / дію

За , в середу 6 січня 2010 12:13 ранку

Для того, щоб прямі запити для / sitemap.xml для користувацьких контролера і дії в Zend Framework, програма просто додайте наступне в вашому application.ini або альтернативного конфігураційного файлу (наприклад, я використовую 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 функції ()
     {
    	 Відлуння $ це-> Вид-> навігація () -> карта сайту ();
    	 $ Це-> Вид-> розкладка () -> disableLayout ();
    	 $ Це-> _helper-> ViewRenderer-> setNoRender (істина);
     }
 }

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













Панорама тему, Themocracy

5 відвідувачів онлайн
2 гостей, 3 ботів, 0 користувачів
Максимум сьогодні: 17 в 6:54 ранку UTC
В цьому місяці: 17 в 18-08-2011 6:54 ранку UTC
У цьому році: 130 в 28-03-2011 10:40 вечора UTC
За весь час: 130 в 28-03-2011 10:40 вечора UTC