Silex autoload psr-4类不存在

时间:2015-10-31 17:55:00

标签: php autoload silex psr-4

我有这个错误:

  

ControllerResolver.php第147行中的InvalidArgumentException:   “MyProject \ API \ FrontController”类不存在。

这是myproject的结构:

  • composer.json
  • API
    • SRC
      • FrontController.php
      • BundlesFolders
    • 应用
    • 网络
  • 供应商
  • 客户端

我的composer.json

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

我的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 {

1 个答案:

答案 0 :(得分:1)

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

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

PS:您已经以单数形式列出了客户端目录,但在作曲家中您将其复数形式,请注意这些细节!

更改psr-4参数后再运行composer dump-autolad