Автозагрузка PSR-4 с помощью Composer — класс не найден

Я создаю пакет композитора с типом library, И пытается потребовать это к проекту Symfony2.

Пакет имеет следующие composer.json

{
"name": "vendor/package-sdk",
"description": "My private package",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {"Vendor\\PackageSDK\\": "src/"}
},
"require": {
"php": ">=5.3.3"}
}

Тогда я требую это к своему проекту SF2.

"repositories": [
{
"type": "git",
"url": "[email protected]:me/vendor-package-sdk.git"},
],
"require": {
...
"vendor/package-sdk": "~0.0.1-alpha1"...
}

Когда я звоню

use Vendor\PackageSDK\Client;

...

$client = new Client();

« `

И я получил фатальную ошибку:

PHP Fatal error:  Class 'Vendor\PackageSDK\Client' not found in /path

Если я сделаю

composer dump-autoload -o

Это работает, но

composer dump-autoload

не.

Файл продавец / композитор / autoload_psr4.php содержать:

'Vendor\\PackageSDK\\' => array($vendorDir . '/vendor/package-sdk/src'),

Кто-нибудь может сказать мне, что я делаю не так?

1

Решение

В композитор autoload_classmap.php файл, который я увидел следующую строку

‘Vendor \ PackageSDK \ Client’ => $ vendorDir. «/ Продавец / пакет-SDK / SRC /Чиленто.PHP»,

Так что это просто опечатка в имени файла пакета

Чиленто.PHP должен быть клиент.PHP

-1

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

Других решений пока нет …

По вопросам рекламы [email protected]