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
Форумы портала PHP.SU :: Версия для печати :: Размещение чужого класса в своем namespace'е
Форумы портала PHP.SU » » Вопросы новичков » Размещение чужого класса в своем namespace'е

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

1. Int_20h - 29 Июля, 2016 - 20:01:05 - перейти к сообщению
Хочу в свой проект с определенной объектной моделью интегрировать шаблонизатор Twig. Но так, чтобы он, в случае чего, не не конфликтовал с еще одной копией Twig'а если вдруг кто-то добавит мой проект к своему в котором также используется Twig.

Для того чтобы это сделать, нужно разместить Twig в своем namespace'е (допустим от называется MyProject) и вызывать его через \MyProject\Twig. Можно ли это как-то прописать не трогая файлов самого шаблонизатора? Очень хочется в дальнейшем обновлять его через менеджер пакетов без ручной правки кода.

Сейчас классы twig'а выглядят так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     class Twig_Autoloader
  3.     {
  4.     public static function register()
  5.     {
  6.     ini_set('unserialize_callback_func', 'spl_autoload_call');
  7.     spl_autoload_register(array(new self, 'autoload'));
  8.     }
  9.  


Т.е. он, во-первых, размещается в глобальном namespace'е, а во-вторых, имеет свой автолоадер, что осложняет дело. Подкиньте какие-нибудь идеи, пожалуйста. Куда копать?
2. Viper - 30 Июля, 2016 - 00:54:56 - перейти к сообщению
Int_20h пишет:
если вдруг кто-то добавит мой проект к своему в котором также используется Twig
логика построения приложения напрочь отсутствует.

 

Powered by ExBB FM 1.0 RC1