Защита кэшей lmb_require и lmb_autoload

Вопросы, связанные с разработкой пакетов Limb3

Модератор: phpBB2 - administrators

Защита кэшей lmb_require и lmb_autoload

Сообщение korchasa » Пн фев 01, 2010 8:20 pm

На текущем проекте мы используем для тестирования PHPUnit. С ним возникает одна проблема - он агрессивно кэширует суперглобальные массивы, и это приводит к поломке нашего механизма загрузки. Я думал, что дело в рассинхронизации кэшей lmb_require( статическая переменная $tried) и lmb_autoload($_ENV['). И даже написал тест под эту ситуацию. Но этого мало. Т.к. кэширование выполняется до инстанцирования класса, а следовательно до lmb_require'ов подключаемых классов, то надо либо делать грязные хаки, заранее инстанцируя объекты, либо убирать наши карты их _ENV.

Я бы не парился и перенес бы $_ENV['LIMB_LAZY_CLASS_PATHS'] в статическую переменную lmb_autoload, но тогда у функции lmb_autoload() будет два поведения: добавление пути в LIMB_LAZY_CLASS_PATHS и фактическая загрузка файла. Можно еще сделать отдельную функцию для добавления/получения этих путей, но это значит +100 вызовов на каждой странице.
Аватара пользователя
korchasa
LIMB Developer
 
Сообщения: 936
Зарегистрирован: Чт май 10, 2007 3:47 am

Re: Защита кэшей lmb_require и lmb_autoload

Сообщение conf » Вт фев 02, 2010 9:59 pm

Насколько я знаю у PHPUnit есть опции --no-globals-backup и --static-backup, может они помогут. Подробнее тут http://www.phpunit.de/manual/3.4/en/app ... -variables.
Опыт - это то, что мы получаем, когда не получаем того, что хотим.
http://www.shelfari.com/shein_alexey/shelf - лучшие книги для программистов.
Аватара пользователя
conf
LIMB Addicted
 
Сообщения: 570
Зарегистрирован: Вт мар 25, 2008 6:41 pm
Откуда: Tashkent, Uzbekistan

Re: Защита кэшей lmb_require и lmb_autoload

Сообщение korchasa » Чт фев 04, 2010 8:01 pm

conf писал(а):Насколько я знаю у PHPUnit есть опции --no-globals-backup и --static-backup, может они помогут. Подробнее тут http://www.phpunit.de/manual/3.4/en/app ... -variables.

Спасибо, оно самое.
Аватара пользователя
korchasa
LIMB Developer
 
Сообщения: 936
Зарегистрирован: Чт май 10, 2007 3:47 am


Вернуться в Limb3 разработка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron