ZF2 Как добавить новую папку в папку src, кроме обычных папок

#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 Спасибо, Тим.