Из-за проблем с производительностью (в тесте) я пытаюсь использовать другой автозагрузчик, чем Zend_Loader_Autoloader по умолчанию.
Я пытался другим способом, используя:
$autoloader->removeAutoloader(array('Zend_Loader_Autoloader', 'autoload'))
->setDefaultAutoloader(array($loader, 'loadClass'));
Поскольку автозагрузчик тесно связан с большинством компонентов Zend Framework, я не могу «удалить его».
Я сделал пошаговую отладку Xdebug, и похоже, что автозагрузчик работает так:
1) getInstance
2) Проверьте, является ли вызываемый корень класса известным пространством имен и существует ли автозагрузчик для его пространства имен.
3) Положите в стек автозагрузчик без пространства имен
4) Пробовал автозагрузчик на каждом автозагрузчике, пока действительный в найден.
Однако в моем случае мой автозагрузчик уже делает это (я использую Opl Autoloader со стратегией classMap), я уже регистрирую пространство имен с соответствующим путем.
Так что для меня это выглядит немного накладно, потому что я хотел бы, чтобы мой автозагрузчик использовался в самом начале поиска, минуя все проверки Zend.
У вас есть идеи по улучшению этого? Как я мог эффективно использовать собственный (и производительный) автозагрузчик в проекте Zend Framework и с помощью Zend_Loader_Autoloader