更改控制器上的命名空间 - Silex框架

时间:2017-04-29 15:29:28

标签: php silex

我会直截了当地说,我只将控制器命名空间Musique \ Controller更改为STM \ Controller

 namespace STM\Controller;

use Silex\Application;

class HomeController{

public function indexAction(Application $app){
    return $app['twig']->render("index.html.twig");
}

也改变了我的composer.json文件

{
"name": "jasonazoulay/SoTrustMe",
"description": "Tiers de confiance",
"authors": [
    {
        "name": "Jason Azoulay",

    }
],
"require": {
    "silex/silex": "^2.0",
    "doctrine/dbal": "~2.5",
    "twig/twig": "^1.33",
    "symfony/asset": "^3.2",
    "symfony/twig-bridge": "^3.2",
    "symfony/form": "~2.8|3.0.*",
    "symfony/translation": "~2.8|3.0.*",
    "symfony/config": "~2.8|3.0.*"
},
"autoload": {
    "psr-4": {"SoTrustMe\\": "src"}
}

} 当然还有路线

$app->get('/',"STM\Controller\HomeController::indexAction")->bind('home');

现在我收到此错误

ControllerResolver.php第187行中的InvalidArgumentException: “STM \ Controller \ HomeController”类不存在。

虽然在更改命名空间之前它工作得很好!

请帮帮我

1 个答案:

答案 0 :(得分:0)

由于您使用composer加载类,并且在项目中引入了一个新目录,因此需要重新运行:composer dump-autoload

这将重新生成需要包含在项目中的所有类的列表,并更新Composer缓存。有关此问题的更多详细信息,请查看this问题。

相关问题