2016-01-21 87 views
2

我試圖在作曲家中使用PSR-0而不是類作圖,但有一些困難。看起來我的json文件是正確的,但我試圖訪問的類沒有被拾取。是否有人可以看看,看看他們是否能發現我要去哪裏錯了:找不到作曲家自動加載和PSR-0的類

這是我在composer.json:

"autoload": { 
    "psr-0": { 
     "MartynBiz\\Slim3Controller\\": "src/" 
    } 
}, 

下面是我的文件夾結構:

$ tree . 
. 
|-- README.md 
|-- composer.json 
|-- composer.lock 
|-- phpunit.xml 
|-- src 
| |-- Controller.php 
| |-- Http 
| | |-- Request.php 
| | `-- Response.php 
| `-- Test 
|  `-- PHPUnit 
|   `-- TestCase.php 
`-- tests 
    |-- bootstrap.php 
    `-- library 
     `-- ControllerTest.php 

這裏是我的控制器類:

<?php 
namespace MartynBiz\Slim3Controller; 

abstract class Controller 
{ 

而且,我可以證實,作曲家自動加載得離譜已包括pt。

+0

刪除src後的斜線。然後嘗試運行作曲家更新 –

+0

沒有區別。根據作曲家的文檔,它應該包含看起來最後的斜線 - https://getcomposer.org/doc/04-schema.md#psr-0 – Martyn

+0

哦,那麼我將它改爲PSR-4,它現在發現類:) PSR-4或PSR-0很好,我只是不想像classmap一樣繼續運行'composer dump-autoload'。 – Martyn

回答

2

改用PSR-4。 PSR-0要求前綴包含在文檔樹中(即src/MartynBiz/Slim3Controller/Controller.php)。