2017-06-10 108 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