Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Новая сущность наподобии бандла.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Symfony 2
digi
Отправлено: 11 Июня, 2012 - 19:45:00
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




Для написании динамической системы, потребовалось ввести новую сущность - «Модуль». В отличие от бандла, проект на момент запуска незнает с какими модулями будет работать и как они должны быть скорфигурированы.

Использовать планируется также как бандл например:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. $response = $this->forward('AcmeHelloModule:Hello:fancy');
  3.  
  4. // или как варинт можно так:
  5.  
  6. $response = $this->forward('Acme/Hello:Hello:fancy');
  7.  
  8. //хотя первый вариант смотрится симпатичнее ;)
  9.  


Здесь будет выполнен контроллер HelloController->fancy();, который описан скажем в файле: /src/modules/Acme/Hello/Controll er/HelloController.php

Вопрос заключаетс в том, как это сделать? Улыбка
 
 Top
digi
Отправлено: 16 Июня, 2012 - 17:06:40
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




в общем-то нашел некоторое решение, в AppKernel добавляем следующий метод:

CODE (php):
скопировать код в буфер обмена
  1.  
  2. public function getBundle($name, $first = true)
  3. {
  4.     if (substr($name, -6) == 'Module')) {
  5.         return $this->getBundle('ModuleBundle')->getModule($name, $first);
  6.     }
  7.        
  8.     return parent::getBundle($name, $first);
  9. }


а в ModuleBundle уже реализуем всю логику, но разумеется чтобы по формату ответа соотвествовало Kernel->getBundle();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB