【发布时间】:2026-01-30 08:05:01
【问题描述】:
我正在尝试在作曲家中使用 PSR-0 而不是类映射,但遇到了一些困难。看来我的 json 文件是正确的,但我试图访问的类没有被拾取。有人可以看看,看看他们是否能发现我哪里出错了:
这是我在 composer.json 中的内容:
"autoload": {
"psr-0": {
"MartynBiz\\Slim3Controller\\": "src/"
}
},
下面是我的文件夹结构:
$ tree .
.
|-- README.md
|-- composer.json
|-- composer.lock
|-- phpunit.xml
|-- src
| |-- Controller.php
| |-- Http
| | |-- Request.php
| | `-- Response.php
| `-- Test
| `-- PHPUnit
| `-- TestCase.php
`-- tests
|-- bootstrap.php
`-- library
`-- ControllerTest.php
这是我的控制器类:
<?php
namespace MartynBiz\Slim3Controller;
abstract class Controller
{
另外,我可以确认已包含 composer 自动加载脚本。
【问题讨论】:
-
删除 src 后面的斜杠。然后尝试运行 composer update
-
没有区别。根据作曲家文档,它似乎应该包含斜杠 - getcomposer.org/doc/04-schema.md#psr-0
-
哦,好吧,我把它改成了 PSR-4,它现在找到了类 :) PSR-4 或 PSR-0 很好,我只是不想继续运行
composer dump-autoload与类映射一样。
标签: php composer-php psr-0