[英]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.