2017-04-16 53 views
0

我一直在測試讓我的軟件包達到Packagist的一個簡單的課程。無論何時我需要它在一個不同的項目中,它都表示無法找到該課程。我的composer.json autoload塊有問題嗎?爲什麼我的Composer軟件包不自動加載?

這裏是我的項目回購文件結構

- src 
    - prodikl 
     - View.php 
- .gitignore 
- composer.json 

這是我的composer.json

{ 
    "name":"prodikl/simple-view", 
    "description":"A simple to use, basic View object.", 
    "require" : { 
    "php" : ">=5.3.0" 
    }, 
    "autoload": { 
    "psr-4": {"prodikl": "src/"} 
    } 
} 

最後,在我的View.php

<?php 

namespace prodikl; 

class View 
{ 
    ... 
} 

但每當我需要它變成一個項目,做require "vendor/autoload.php"和使用use prodikl\View;它口口聲聲說沒有找到

+1

如果你使用'prodikl \\\什麼'指示命名空間? – frz3993

+0

我認爲這是它的一部分,是! – Prodikl

回答

1

你只需要指向磁帶自動加載機擊倒一個目錄:

"autoload": { 
    "psr-4": {"prodikl": "src/prodikl/"} 
    } 

這意味着「類,屬於\prodikl的命名空間可以在src/prodikl/目錄中找到。「

您可能需要在命名空間的名稱後反斜槓過,不知道怎麼作曲家挑剔也差不多了:

"psr-4": {"prodikl\\": "src/prodikl/"} 
+0

這就是它!我嘗試了一些路徑的變化,但這是正確的。謝謝! – Prodikl

相關問題