2016-09-18 3 views
0

У меня возникли проблемы с пониманием, если Composer не загружает пакеты, которые мне нужны.Autoload Composer установлен Пакеты

Мой текущий файл composer.json имеет следующее:

{ 
    "require": { 
     "atlas/orm": "@dev" 
    }, 
    "require-dev": { 
     "atlas/cli": "@dev" 
    } 
} 

Предполагалось сгенерировать пространство имен в файле /vendor/composer/autoload_namespaces.php. Но это не так. Файл имеет только следующее:

// autoload_namespaces.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    'Psr\\Log\\' => array($vendorDir . '/psr/log'), 
); 

Конечно, когда я пытаюсь использовать «требует DIR„/vendor/autoload.php“;» чтобы автоматически загрузить пакет, а затем использовать его классы, он не работает. Любая идея о том, как я могу это решить?

+0

Вы издали «композитор установить» или команду «композитор обновление» для создания авто-погрузчиков? – vascowhite

+0

@vascowhite, да, я выпустил команду установки композитора. Он генерировал файлы автозагрузки, но, например, файл autoload_namespaces.php, имеет только nformation. –

ответ

1

Для требуемых во всех установленных зависимостях требуется «autoload.php». Для автозагрузки (PSR-4) в файле composer.json вы должны указать имя, в соответствии с которым все будут заменены именами, и имя папки, из которой будут загружены файлы.

"Namespace_name\\":"folder_name" 

Примечание: обратный слэш после namespace_name должен быть экранированы, следовательно, дополнительный обратный слэш.

Затем запустите composer dump-autoload -o

Смежные вопросы