【问题标题】:Problem autoloading class PHP Slim framwork问题自动加载类 PHP Slim 框架
【发布时间】:2019-07-12 07:38:11
【问题描述】:

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

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

【问题讨论】:

    标签: php composer-php slim autoload


    【解决方案1】:

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

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

    这里的情况似乎完全不匹配。在文件系统方面,config 级别下落不明,在命名空间方面 CraftDB 级别在命名空间中。

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多