ReflectionException Controller在Lumen中不存在错误

时间:2015-11-21 00:39:20

标签: laravel lumen

我在App \ Http \ Controllers \ Controller.php

中创建了Controller

我使用路线代码

$app->get('api/article','App\Http\Controllers\ArticleController@index');

但是我不能叫Controller! 控制器不存在..... 错误发生。 怎么解决?  enter image description here

1 个答案:

答案 0 :(得分:6)

您只需要指定相对于App\Http\Controllers的命名空间。所以它会是这样的:

$app->get('api/article','ArticleController@index');

此外,为了将来参考,如果您的控制器位于更深层次的"命名空间,适用相同的规则。因此,如果您的ArticlesController位于App\Http\Controllers\API\ArticleController,则只需执行此操作:

$app->get('api/article', 'API\ArticleController@index');
  

非常重要的是要注意,在定义控制器路由时,我们不需要指定完整的控制器命名空间。我们只定义了App\Http\Controllers命名空间" root"之后的类名称部分。默认情况下,bootstrap/app.php文件将在包含根控制器名称空间的路由组中加载routes.php文件。

     

如果您选择使用PHP App\Http\Controllers directory更深入的PHP命名空间来嵌套或组织控制器,只需使用相对于App\Http\Controllers root namespace的特定类名。因此,如果您的完整控制器类是App\Http\Controllers\Photos\AdminController,您将注册一个类似的路径:

     

$app->get('foo', 'Photos\AdminController@method');

来源:http://lumen.laravel.com/docs/controllers#basic-controllers