Silex自动加载psr-4类不存在


Silex autoload psr-4 class does not exist

我有这个错误:

ControllerResolver.php第147行出现InvalidArgumentException:类"MyProject''neneneba API ''FrontController"不存在。

以下是我的项目结构:

  • composer.json
  • api
    • src
      • FrontController.php
      • 捆绑文件夹
    • 应用程序
    • 腹板
  • 供应商
  • 客户端

我的composer.json

"psr-4": {
        "MyProject''API''": "myproject/api/src",
        "MyProject''Client''": "myproject/client/src"
 }

我的路由php:

// myproject/api/app/config/routing.php
$routes->get('/', 'MyProject'API'FrontController::exec')

FrontController.php:

<?php 
// myproject/api/src/FrontController
namespace MyProject'API; 
class FrontController {

您在psr-4映射中添加了一个额外的文件夹。第一个myproject目录不应该在您的路径中,因为这个路径是相对于composer.json文件的,并且您的src代码在api/src和clients/src中(第二个只是猜测,您没有发布clients目录的内容)。

让我告诉你,IMHO你的目录布局很奇怪。我会有一个src目录,里面放一个api和一个客户端子目录。

附言:你已经用单数列出了客户端目录,但在composer中你有复数,请注意这些细节!

更改psr-4参数后,还要运行composer dump-autolad