1

I have this error:

InvalidArgumentException in ControllerResolver.php line 147: Class "MyProject\API\FrontController" does not exist.

Here is my structure of myproject:

  • composer.json
  • api
    • src
      • FrontController.php
      • BundlesFolders
    • app
    • web
  • vendor
  • clients

My composer.json

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

My routing.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 {
4

1 回答 1

1

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

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

PS:您已经以单数列出了客户端目录,但在 composer 中您以复数形式列出了它,请注意此细节!

composer dump-autolad在更改您的 psr-4 参数后也运行。

于 2015-11-01T00:34:09.103 回答