自动加载问题 class PHP Slim 框架

Problem autoloading class PHP Slim framwork

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

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

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

我的数据库class这样开始

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/"
        }
    }

我正试图找出问题所在,但我现在迷路了。请帮忙。谢谢

你说你的文件在哪里:app/config/Database.php

你在哪里告诉 Composer 你的文件是:app/CraftDB/Database.php

这里的情况似乎完全不相符。在文件系统方面,您有 config 级别下落不明,在名称空间方面 CraftDB 级别中的名称空间。

根据你的描述,我想你需要这样的东西:

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