#php #zend-framework2
#php #zend-фреймворк2
Вопрос:
Это обычная структура папок для папки src:
src/
AplicationFolder/
Model/
Controller/
Entity/
Document/
Form/
Итак, мне нужно добавить новую папку рядом с папкой формы, мне нужно будет добавить дополнительную конфигурацию, связанную с картой классов.
Моя конфигурация автозагрузки выглядит следующим образом:
'config_glob_paths' => array(
'config/autoload/{,*.}{global,local}.php',
),
Вот getAutoloaderConfig()
код конфигурации:
public function getAutoloaderConfig(){
return array(
'ZendLoaderClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'ZendLoaderStandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
Комментарии:
1. Используете ли вы автозагрузчик classmap для этого модуля? Если нет, то вам не нужно выполнять какую-либо специальную настройку.
2. @ Тим Фонтейн, спасибо за ответ. Да, я использую автозагрузчик classmap. так что не могли бы вы, пожалуйста, быть достаточно любезны, чтобы сообщить мне о конфигурациях
3. Можете ли вы добавить свою конфигурацию автозагрузчика к своему вопросу?
4. Ты имеешь в виду это ? ‘config_glob_paths’ => массив(‘config/автозагрузка/{,*.}{глобальный, локальный}.php’, ),
5. В
src/Module.php
вас должен быть вызван методgetAutoloaderConfig()
, это то, что я хочу видеть.
Ответ №1:
Поскольку вы используете оба автозагрузчика, вам ничего не нужно делать, стандартный автозагрузчик должен обрабатывать любые добавленные вами файлы. Однако, когда вы будете готовы перевести свое приложение в рабочее состояние, вы можете повторно создать файл classmap (для повышения производительности), используя предоставленный генератор classmap (должен быть в вашей папке поставщика, если вы установили ZF с composer).
Cd в папку вашего модуля (ту Module.php
, в которой есть in), а затем запустите:
php ../../vendor/bin/classmap_generator.php
Комментарии:
1. @ Tim Спасибо, Тим.