2016-05-31 3 views
1

Я создаю пакет композитора с типом library. И пытаюсь потребовать его в проекте Symfony2.PSR-4 автозагрузка с Composer - Class not found

Пакет имеет следующие 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'), 

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

+0

Быстрый взглянуть на мобильный, похоже, у вас неправильный звонок? ..? пакет ** - ** sdk vs packageSDK, – izk

ответ

-1

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

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

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

Чиленто .php должны быть Клиент .php