Silex - 在路由.php中找不到控制器类


Silex - Controller class not found in route.php

我正在构建一个以php silex作为后端的Web应用程序。我有以下目录结构:

bento
  'app
     'app.php
     'bootstrap.php
  'src
     'supervisor
         'SupervisorController.php
      'Application.php
      'routes.php
  'composer.json
  'vendor

文件内容如下;

页.php

<?php
    require_once __DIR__ . '/bootstrap.php';
    $app = new Silex'Application();
    require_once __DIR__ . '/../src/routes.php';
    return $app;
?>

引导程序.php

<?php
    require_once __DIR__ . "/../vendor/autoload.php";
?>

主管控制器.php

<?php
namespace Bento'Supervisor'SupervisorController;
use Silex'ServiceProviderInterface;
use Silex'Application;
class SupervisorController implements ServiceProviderInterface
{
    public function register(Application $app) {
        $controllers = $app['controllers_factory'];
        $app->get('/supervisor/processes', function() use ($app){
        });
        return $controllers;
    }
    public function boot(Application $app)
    {
        // TODO: Implement boot() method.
    }
}

路线.php

<?php
$app->mount('/supervisor', new 'Bento'Supervisor'SupervisorController'SupervisorController());

作曲家.json

{
  "require": {
    "silex/silex": "~1.3"
  }
}

我收到以下错误

PHP Fatal error:  Class 'Bento'Supervisor'SupervisorController'SupervisorController' not found in /somedir/Documents/projects/mv2/bento/src/routes.php on line 3

我尝试在composer.json中添加"autoload": { "psr-4": { "": "./" } }但无法使其工作

尝试将控制器命名空间更改为 Bento'Supervisor 。我认为命名空间不应该包含类名。

namespace Bento'Supervisor;
use Silex'ServiceProviderInterface;
use Silex'Application;
class SupervisorController implements ServiceProviderInterface
{

并将自动加载添加到作曲家

"autoload": { "psr-4": { "Bento'Supervisor": "./src/supervisor" } }