控制器方法和控制器 action?
我们先定义一个控制器 UsersController
:
<?php
namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;
class UsersController 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($id)]);
}
}
然后,再定义指向这个控制器的路由:
Route::get('users/{id}', 'UsersController@show');
控制器方法
在控制器中,show
是控制器方法,这是站在控制器角度的说法。
控制器 action
对于路由
Route::get('users/{id}', 'UsersController@show');
show
是一个 action,表示一个请求动作,是一个包含业务逻辑的请求动作,它在 UsersController
这个控制器中。所以控制器 action 是站在路由角度的说法。
总结
- 控制器方法,是站在控制器角度的说法。
- 控制器 action,是站在路由角度的说法。
在 Laravel 文档中,并没有严格区分控制器方法和控制器 action,有时还会混用,所以我们可以简单地认为:控制器方法就是指控制器 action,控制器 action 就是指控制器方法。
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer
于 7年前 加精