Как указать на платформу зенда, где мои пользовательские классы

У меня есть папка с пользовательскими классами в приложении ZF 1.10. Папка расположена в / библиотеке. Как я могу сказать ZF, где они? И application.ini и index.php устанавливают путь к библиотеке, но затем ZF не может найти файлы.

Спасибо

6
задан Siguza 15 August 2015 в 13:06
поделиться

2 ответа

Есть много возможных решений. Чаще всего при использовании Zend Application пространство имен регистрируется в application.ini путем добавления:

autoloaderNamespaces[] = "Example_"

Другие решения:

  • Добавьте свой каталог в include_path , используя ] set_include_path () (специальное решение)
  • Следуйте соглашениям об именах PEAR (чтобы было возможно разрешение пути)

Настройте автозагрузчик в 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',
    ),        
));
8
ответ дан 8 December 2019 в 02:45
поделиться

Посмотрите это старое руководство по Zend Framework от Роба Аллена , особенно на странице 4, где он рассказывает о загрузчике. Его новые руководства, какими бы превосходными они ни были, похоже, полагаются на Zend Tool для создания приложений и приукрашивают это.

Однако меня встревожило то, что вы упомянули, что папка, которую вы пытаетесь включить, - это public / library. Если вы намеренно не хотите поделиться своим кодом со всем миром, я настоятельно рекомендую вам разместить его в другом месте ... если только у вас нет другой «общедоступной» папки , а не , доступной для всех (в этом случае вы может захотеть переименовать его, чтобы избежать путаницы в будущем).

1
ответ дан 8 December 2019 в 02:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: