У меня есть папка с пользовательскими классами в приложении ZF 1.10. Папка расположена в / библиотеке. Как я могу сказать ZF, где они? И application.ini и index.php устанавливают путь к библиотеке, но затем ZF не может найти файлы.
Спасибо
Есть много возможных решений. Чаще всего при использовании Zend Application пространство имен регистрируется в application.ini
путем добавления:
autoloaderNamespaces[] = "Example_"
Другие решения:
include_path
, используя ] set_include_path ()
(специальное решение) Настройте автозагрузчик в Bootstrap.php
:
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Example"); // or Example_
}
В конце концов, установите up или автозагрузчик ресурсов , например.
$resourceLoader->addResourceTypes(array(
'acl' => array(
'path' => 'acls/',
'namespace' => 'Acl',
),
'example' => array(
'path' => 'examples/',
'namespace' => 'Example',
),
));
Посмотрите это старое руководство по Zend Framework от Роба Аллена , особенно на странице 4, где он рассказывает о загрузчике. Его новые руководства, какими бы превосходными они ни были, похоже, полагаются на Zend Tool для создания приложений и приукрашивают это.
Однако меня встревожило то, что вы упомянули, что папка, которую вы пытаетесь включить, - это public / library. Если вы намеренно не хотите поделиться своим кодом со всем миром, я настоятельно рекомендую вам разместить его в другом месте ... если только у вас нет другой «общедоступной» папки , а не , доступной для всех (в этом случае вы может захотеть переименовать его, чтобы избежать путаницы в будущем).