3

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

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

在此处输入图像描述

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

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

<?php
use MyMVC\Core;

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

但这给了我找不到类配置的错误。如果我使用MyMVC\Core\Config;. 但它应该在不显式使用 Config 的情况下工作。由于框架用户可以添加应该自动加载的文件。

谢谢

4

1 回答 1

1

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';
于 2015-09-15T01:10:29.687 回答