php - Laravel,带有前缀的路由中不存在类 Controller

标签 php laravel namespaces lumen

组(或回调)中的命名空间不起作用(Lumen、Laravel)?我想将代码从 routes.php 删除到 Controller 。所以!

use App\Http\Controllers;

// OK!
$app->get('path', 'BarController@getId');

$app->group(['prefix' => 'foo'], function ($app) {
    // OK!
    $app->get('path', '\App\Http\Controllers\BarController@getId');

    // Class BarController does not exist
    $app->get('path', 'BarController@getId');
});

最佳答案

为您 use声明工作,你必须使用 ::class句法:

use App\Http\Controllers\BarController;

$app->get('path', BarController::class.'@getId');

或者,您可以将命名空间添加到您的组中:

$app->group(['prefix' => 'foo', 'namespace' => 'App\Http\Controllers'], function ($app) {
    $app->get('path', 'BarController@getId');
});

关于php - Laravel,带有前缀的路由中不存在类 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170792/

相关文章:

php - 严格标准 : Resource ID#7 used as offset, 转换为整数 (7)

php - SQLSTATE[HY000] [1045] 拒绝用户 'homestead' @'localhost' 的访问(使用密码 : YES)

php - ...vendor/composer/ClassLoader.php :444 (Laravel) 中没有这样的文件或目录

php - Laravel - 如何在查询中使用 session 用户名

php - 如何在 PHP 上将 urn 添加到 SoapClient?

php - 代码点火器 : How to insert last uri segment into database using ajax

php - page::sponsor() 缺少参数 1

php - Laravel:如何对多种内容类型进行评论?

c++ - 由于 `using` 导致命名空间不匹配导致 Doxygen 与 header 签名不同时无法解析 cpp 文件中的方法签名

C# Console.WriteLine 从哪里来