2017-06-10 107 views
1

這裏是我的文件結構作曲家PSR-4磁帶自動加載類未發現

├── index.php 
├── composer.json 
├── src 
    ├── Core 
     └── Database.php 
├── vendor 

在我composer.json文件我有

"autoload": { 
     "psr-4": {"Site\\": "src/"} 
    } 

在我database.php中

namespace Core; 

class Database {} 

並在我的index.php

$db = new Site\Core\Database(); 

但我得到一個錯誤:未找到類'Site \ Core \ Database'。

我跑了composer updatecomposer dump-auto -o但仍然沒有成功。我看過很多其他類似的問題,但他們沒有幫助。

謝謝

+0

你'Database'類只是在'Core'命名空間。要麼改變你的作曲家入口從'src /'加載'Core'或者將'Site \'添加到你的數據庫命名空間。 – ccKep

回答

1

當您在composer.json

"autoload": { 
    "psr-4": {"Site\\": "src/"} 
} 

定義psr-4這樣的意思Autoloader將查找文件src/Core/Database.phpSite\Core\Database類。

但要確保在Database.php定義namespace

namespace Site\Core; 

class Database 
{ 
} 

而且問題,你剛纔定義namespace Core;

+0

我更新了我的名字空間,但我仍然得到相同的錯誤。 – FrenchMajesty

+0

你實際上包含自動加載器的權利? – ccKep

+0

@ccKep,修正了它。它由於錯字而失敗。 – FrenchMajesty