繁体   English   中英

使用PSR-4找不到类

[英]Class Not Found using PSR-4

我的composer.json文件中有一个PSR-4规范,如下所示

"autoload" : {
    "psr-4" : {
        "MyMVC\\" : "app/"
    }
},

在此输入图像描述

以上是我的目录结构。 在我的Core / Config.php文件中,我有一个位于命名空间MyMVC\\Core下的类Config。 (仅以Config类为例,所有类都是一样的)。

现在在我的Config / config.php文件中,我正在使用下面的代码

<?php
use MyMVC\Core;

Config::$config['base_url'] = 'http://localhost/mymvc';

但这给了我错误的Class Config Not Found。 如果我使用MyMVC\\Core\\Config;问题可以解决MyMVC\\Core\\Config; 但它应该在不明确使用Config的情况下工作。 由于框架用户可以添加应该自动加载的文件。

谢谢

use原语导入或别名命名空间或类。 手册所述:

PHP支持三种别名或导入:别名类名,别名接口名和别名命名空间名。 PHP 5.6+还允许别名或导入函数和常量名称。

您的use语句是“别名命名空间”。 所以

use MyMVC\Core;

是相同的:

use MyMVC\Core as Core;

因此在你的代码中:

Config::$config['base_url'] = 'http://localhost/mymvc';

应该:

Core\Config::$config['base_url'] = 'http://localhost/mymvc';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM