此问题在此处已有答案:
Class Foo\Bar\Baz located in ./foo/bar/utility/baz.php does not comply with psr-4 autoloading standard. Skipping(2个答案)
5天前关闭。
MyApp\src\models文件夹中的Test类:
<?php
namespace MyApp\Models;
class Test
{
function __construct() {
echo "class Test running...";
}
}
字符串
项目根目录下的索引页:
<?php
require_once realpath("vendor/autoload.php");
use MyApp\Models\Test;
$test = new Test();
型
但当我运行命令时:
composer dump-autoload -o
型
错误消息显示:
MyApp/src\models\Test.php does not comply with psr-4 autoloading standard. Skipping.
型
但是它还是生成了autoload.php和其他文件的供应商文件夹。index.php工作正常。那么我在这里缺少什么呢?
1条答案
按热度按时间q9rjltbz1#
According to the spec,您需要在FirstCaps中拥有名称空间路径。
你的路径是n
MyApp\src\models
,但你的命名空间是FirstCap:字符串
如果你重命名你的文件夹为
MyApp\src\Models
,你应该可以了。如果你已经将代码提交到git,并且在Windows PC上,请注意,由于NTFS和FAT文件系统都不区分大小写,将文件夹从
models
重命名为Models
可能会遇到问题。你可能必须从models
重命名为somethingelse
(并提交),然后重命名为Models
(并再次提交)