2016-02-12 81 views
2

我正在嘗試創建我的第一個供應商軟件包。我在這question找到了很多信息,但我卡住了。在symfony2中創建供應商軟件包並通過作曲者部署它

在我已經通過命令composer require vted/peary安裝了另一個項目,文件是在正確可見我的目錄vendors/vted/peary

但是,當它試圖將其添加到AppKernel.php這樣的:

$bundles = array(
    ... 
    new Vted\PearyBundle\VtedPearyBundle(), 
    ... 
); 

我得到以下錯誤:

ClassNotFoundException in AppKernel.php line 24: 
Attempted to load class "VtedPearyBundle" from namespace "Vted\PearyBundle". 
Did you forget a "use" statement for "Vted\PearyBundle\VtedPearyBundle"? 

我認爲這是可能的命名問題的地方,但我可以」找到它。 VtedPearyBundle.php班對我很好。

+0

看起來像你的composer.json PSR-0配置是錯誤的,你有沒有檢查過其他包是怎麼做到的? –

+0

@RenatoMendesFigueiredo thx,這是PSR-0的配置錯誤,我按照Jakub Zalas的建議切換到PSR-4 – Vivien

回答

3

您當前的束結構更適合於對PSR-4自動加載機:

{ 
    "autoload" : { 
     "psr-4" : { 
      "Vted\\PearyBundle\\" : "" 
     } 
    } 
} 

或者,也可以使用target-dir with psr-0。但是,psr-4自動加載器是首選。

相關問題