Из-за проблем с производительностью (сравнительный тест) Я пытаюсь использовать другой автозагрузчик, чем Zend_Loader_Autoloader по умолчанию.Как эффективно заменить Zend_Loader_Autoloader?
Я попытался другой метод, с помощью:
$autoloader->removeAutoloader(array('Zend_Loader_Autoloader', 'autoload'))
->setDefaultAutoloader(array($loader, 'loadClass'));
Поскольку Autoloader сильно связан с большей составляющей Zend Framework, я не могу «удалить его».
Я сделал шаг Xdebug за шагом отладками и это выглядит как автозагрузчик работает так:
1) деЫпзЬапс 2) Проверьте, если вызываемый класс корень является известным пространством имен, и если автозагрузчик существует для пространства имен 3) Положите в стек автозагрузчик без имен, 4) Пробовал автозагрузчик на каждом автозагрузчике, пока не будет найдена действительная.
Однако в моем случае мой автозагрузчик уже делает это (я использую Autoploader Opl с помощью стратегии classMap), я уже зарегистрировал namspace с их соответствующим путем.
Так что это выглядит немного накладными для меня, потому что я хотел бы, чтобы мой автозагрузчик использовался при самом простейшем поиске в обход всех проверок Zend.
У вас есть идеи по улучшению этого? Как я могу эффективно использовать пользовательский (и опытный) автозагрузчик в рамках проекта Zend Framework и использовать Zend_Loader_Autoloader
@mario, это то, что я на самом деле, OPL предоставляет ClassMapLoader и его classMap строитель который генерирует массив типа "ar ray ('My_Class_Name' => 'My/Class/Name.php'); что довольно просто – Trent