1.路由隱式綁定model
{user}要跟$user 一樣名稱
Route::get('/users/{user}', function (App\User $user) {
return $user->email;
});
如果要自定義欄位
如
{name} 以name當查詢
就在user model裡加上
public function getRouteKeyName(){
return 'name';
}
自定义解析逻辑
在RouteServiceProvider
public function boot() {
parent::boot();
Route::bind('user', function ($value) {
return App\User::where('name', $value)->first(); });
}
2.取得route各種東西
$route = Route::current(); $name = Route::currentRouteName(); $action = Route::currentRouteAction();
echo Route::current()->uri;
3.middleware在__construct用會方便,因為何以指定哪個action
class UserController extends Controller { /** * 实例化一个新的控制器实例。 * * @return void */ public function __construct() { $this->middleware('auth'); $this->middleware('log')->only('index'); $this->middleware('subscribed')->except('store'); } }