我的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;
,问题可以解决。但它应该在不明确使用Config的情况下工作。由于框架用户可以添加应该自动加载的文件。
由于
答案 0 :(得分:1)
use
原语导入或别名命名空间或类。正如manual所述:
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';