Php 使用composer自动加载psr-4的MVC不适合我
我正在尝试创建一个MVC结构,并使用composer自动加载所有内容。 但我一直在犯这样的错误:Php 使用composer自动加载psr-4的MVC不适合我,php,autoload,psr-4,Php,Autoload,Psr 4,我正在尝试创建一个MVC结构,并使用composer自动加载所有内容。 但我一直在犯这样的错误: <b>Fatal error</b>: Uncaught Error: Class 'App\Core\Main' not found in /var/www/html/php-framework/index.php:20 Stack trace: #0 {main} thrown in <b>/var/www/html/php-framework/index.p
<b>Fatal error</b>: Uncaught Error: Class 'App\Core\Main' not found in /var/www/html/php-framework/index.php:20
Stack trace:
#0 {main}
thrown in <b>/var/www/html/php-framework/index.php</b> on line <b>20</b><br />
composer.json文件
"psr-4": {
"App\\":"src/"
}
Main.php文件
namespace App\Core;
Class Main{
public static function run() {
index.php文件
require __DIR__ . "/vendor/autoload.php";
App\Core\Main::run();
但它显示了我的错误
这是我关于stackoverflow的第一个问题请检查您的供应商/composer/autoload_psr4.php文件,您必须具有类似于
'App\\' => array($baseDir . '/src'),
如果您没有这行代码,请尝试使用composer dump autoload
我自己解决了这个错误。我不知道怎么做,但它工作得很好
我遵循以下步骤:
dump autoload-o
确保文件夹名
src
是小写的(因为您已经在composer.json中指定了小写的src
)。如果一切正常,发布composer.json文件的内容。{“自动加载”:{“psr-4”:{“App\\”:“src/”}}}}是的链接与您的建议相同,但我仍然没有得到任何运气'App\\\'=>array($baseDir./src'),
您无需删除供应商
文件夹,只需执行编写器转储自动加载即可。如果已删除供应商
文件夹,则可能会丢失使用编写器安装的软件包
(如果有)。运行composer install
再次安装它们。@InvalidBot我已经尝试了composer dump autoload
,但它不会反映到代码中,然后在尝试后也会清除缓存命令,但显示了相同的错误。。。但无论如何,感谢我的关注和评论。
'App\\' => array($baseDir . '/src'),