lumen controller 控制器问题

clipboard.png

<?php namespace App\Http\Controllers;

use App\Test;
use App\Http\Controllers\Controller;

class TestController extends Controller {

public function index()
{
    return "aa";
}

}

不明白 为什么我的路由test 访问不到我的控制器呢?提示

Class TestController does not exist

阅读 7.6k
6 个回答

没看过lumen 但是你是不是得在 TestController@index 前面加上命名空间?

分情况的~
如果单独定义的话,lumen 需要写上命名空间,也就是:

php$app->get('test', 'App\Http\Controllers\TestController@index');

如果分组的话,就不需要写上命名空间了,也就是:

php$app->group(['namespace' => 'App\Http\Controllers'], function($app) {
    $app->get('test', 'TestController@index');
});

这是个坑。
我看了golaravellaravel-china翻译的官方文档,都是直接这样写的:
TestController@index

然后我去看官方英文文档,人家是这样写的:
App\Http\Controllers\UserController@showProfile

不知道为何翻译的时候把命名空间去掉了。。。。

官网Controller

新手上路,请多包涵

确实是个坑,多谢楼上几位了

确实是个坑,哈哈哈哈

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进