问题自动加载类PHP Slim框架

时间:2019-02-18 21:12:34

标签: php composer-php slim autoload

我的slim(http://www.slimframework.com/)应用程序遇到问题。当我尝试使用命名空间加载数据库类时,出现以下错误:

Message: Class 'Craft\Code\CraftDB\Database' not found

我在文件夹app / config / Database.php中有Database.php

我的数据库类是这样开始的

namespace Craft\Code\CraftDB;

class Database {

我正试图在另一个文件中使用它:

use Craft\Code\CraftDB as DB;
class MyOtherClass {
    protected $connectDb;
    protected $db;
    public function __construct() {
        $this->connectDb = new DB\Database;
        $this->db = $connectDb->connect();
    }

我的Composer文件是:

"autoload": {
        "psr-4": {
            "Craft\\Code\\": "app/"
        }
    }

我正在尝试查找问题,但现在迷路了。请帮忙。谢谢

1 个答案:

答案 0 :(得分:2)

您说文件的位置是:app/config/Database.php

您告诉Composer的文件是:app/CraftDB/Database.php

在这里似乎根本不匹配。在文件系统方面,您无法解决config级别,而在名称空间中却在名称空间方面CraftDB级别。

根据您的描述,我想您需要类似的东西:

"autoload": {
        "psr-4": {
            "Craft\\Code\\CraftDB\\": "app/config/"
        }
    }