致命错误:找不到使用php和composer进行简单自动加载的类



我有一个简单的设置结构,如下所示:

/lib/
/ Car/Honda.php
/ MyClass.php
/vendor/composer/
/vendor/autoload.php
/composer.json
/index.php

json就像

{
"require": {},
"autoload": {
"psr-4": {
"": "./lib/"
}
}
}

我的index.php是这样

<?php
require_once('./vendor/autoload.php');
$new = new CarHonda(); // this one not found
//  $new = new MyClass() // this one works

我没有在composer.json中添加名称空间,因为我只是在试验。我确实添加了

"App\": "lib/"

整件事不起作用。我是不是错过了一些简单的东西???

注意:还尝试了composer dump和composer转储自动加载。但仍然没有发挥作用。。。

致命错误:未捕获错误:在中找不到类别"Car\Honda"/var/www/html/index.php:4堆栈跟踪:#0{main}抛出/第4行上的var/www/html/index.php

我想明白了。大多数联机示例都是这样设置名称空间psr-4{"namespace//":"library_folder"}。

对于这个,我没有在composer.json文件中指定名称空间。

在类中,始终指定文件夹的命名空间。

/lib/Car/Toyota/Camry.php
namespace Car/Toyota; // this is the one missing.
class Camry {
...
}

试试这个

"autoload": {
"classmap": [
"lib/"
],
"psr-4": {
}
},

相关内容

  • 没有找到相关文章

最新更新