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