我在App \ Http \ Controllers \ Controller.php
中创建了Controller我使用路线代码
$app->get('api/article','App\Http\Controllers\ArticleController@index');
答案 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