Controller Silex类不存在-控制器

Controller Silex类不存在-控制器,controller,routing,routes,composer-php,silex,Controller,Routing,Routes,Composer Php,Silex,我从Silex开始,无法将道路连接到控制器。我看了几个例子和帖子,但是我阻止了,没有任何效果 目前我有: 在my index.php中 <?php use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; require_once __DIR__.'/../vendor/autoload.php'; $app = new Silex\Application(

我从Silex开始,无法将道路连接到控制器。我看了几个例子和帖子,但是我阻止了,没有任何效果

目前我有:

在my index.php中

<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
require_once __DIR__.'/../vendor/autoload.php';


$app = new Silex\Application();
$app['debug'] = true;
$app->register(new Silex\Provider\ServiceControllerServiceProvider());
Request::enableHttpMethodParameterOverride();
$app->get("/", "Silex\Controllers\MainController::index");
$app->run();
和我的控制器:

    <?php

namespace Silex\Controllers;

use Silex\Application;

class MainController implements \Silex\ControllerProviderInterface { 

    public function index()
    {
        return new Response('Thank you for your feedback!', 201);
    }
}

根据文件结构,Silex命名空间的路径应为“”


最好不要使用这个名称空间,因为它是由composer安装的silex framework使用的。您可以将其重命名为其他名称,例如
App

"autoload": {
    "psr-4": {
        "App\\": ""
    }
}

...

<?php
namespace App\Controllers;

use Silex\Application;

class MainController implements \Silex\ControllerProviderInterface { 

...

$app->get("/", "App\Controllers\MainController::index");
“自动加载”:{
“psr-4”:{
“应用\\\”:“”
}
}
...

根据文件结构,Silex命名空间的路径应为“”


最好不要使用这个名称空间,因为它是由composer安装的silex framework使用的。您可以将其重命名为其他名称,例如
App

"autoload": {
    "psr-4": {
        "App\\": ""
    }
}

...

<?php
namespace App\Controllers;

use Silex\Application;

class MainController implements \Silex\ControllerProviderInterface { 

...

$app->get("/", "App\Controllers\MainController::index");
“自动加载”:{
“psr-4”:{
“应用\\\”:“”
}
}
...

您正在使用silex 2。某些名称空间已更改


如果您正在使用Silex 2,则应使用
Silex\Api\ControllerProviderInterface
,而不是
\Silex\ControllerProviderInterface

。某些名称空间已更改


您不应该使用
\Silex\ControllerProviderInterface
,而应该使用
Silex\Api\ControllerProviderInterface

您可以向我们显示完整的错误消息,并在您的帖子中指出错误的来源行吗?您可以向我们显示完整的错误消息吗,在你的帖子中指出错误的来源?嗨,我仍然有问题。重新生成自动加载文件
composer dumpautoload
Hi,还没有。。这是我的代码和结构:命名空间是否有问题,因为我在/web文件夹中有index.php或类似的东西?您是否运行了
composer dumpautoload
?嗨,我仍然有问题。重新生成自动加载文件
composer dumpautoload
嗨,还没有。。这是我的代码和结构:命名空间是否有问题,因为我在/web文件夹中有index.php或类似的东西?您是否运行了
composer dumpautoload
?我仍然有问题:我的控制器中有:`我仍然有问题:我的控制器中有:`
"autoload": {
    "psr-4": {
        "App\\": ""
    }
}

...

<?php
namespace App\Controllers;

use Silex\Application;

class MainController implements \Silex\ControllerProviderInterface { 

...

$app->get("/", "App\Controllers\MainController::index");