我们先定义一个控制器 UserController
:
<?php
namespace App\Http\Controller;
use App\User;
use App\Http\Controllers\Controller;
class UserController extends Controller
{
/**
* Show the profile for the given user.
*
* @param int $id
* @return Response
*/
public function show($id)
{
return view('users.show', ['user' => User::findOrFail()]);
}
}
然后,在定义指向这个控制器的路由:
Route::get('users/{id}', 'UserController@show');
控制器方法
在控制器中,show
是控制器方法,这是站在控制器角度的说法。
控制器 action
对于路由:
Route::get('users/{id}', 'UsersController@show');
show
是一个action , 表示一个请求动作,是一个包含业务逻辑的请求动作,它在 UsersController
控制器中。所以控制器 action
是站在路由角度的说法。
总结
- 控制器方法,是站在控制器角度的说法。
- 控制器 action ,是站在路由角度的说法。
在 Laravel 文档中,并没有严格区分控制器方法和控制器 action ,有时还会混用,所以我们可以简单的认为:控制器方法就是指控制器 action ,控制器 action 就是指控制器方法。