2016-05-31 33 views
1

我使用library類型創建了作曲包。並試圖要求它到Symfony2項目。PSR-4使用Composer自動加載 - 未找到類

包有以下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文件,我看到下面的線

'供應商\ PackageSDK \客戶'=> $ vendorDir。 '/供應商/包SDK/src目錄/ Cilent .PHP',

所以它只是在包的文件名

Cilent一個錯字.PHP應該客戶 .PHP

相關問題