بررسی middleware در لاراول
احتمالا بیشترین کاربرد routeهای گروهی، این است که از یک middleware ( یا واسط) در آنها استفاده شود. لاراول از middlewareها به منظور احراز کاربران و محدود کردن کاربران مهمان(guest) از بخش هایی از سایت استفاده می کند. در فصل 10 به طور مفصل به middlewareها می پردازیم.
در مثال 3.11 یک route گروهی ایجاد کرده ایم که حاوی دو view به نام dashboard و account است. سپس یک middleware به نام auth را به هردوی آنها اعمال کرده ایم. این یعنی کاربران برای مشاهده ی viewهای dashboard و account باید در اپلیکیشن لاگین کنند.
(مثال 3.11)
Route::group(['middleware' => 'auth'], function () {
Route::get('dashboard', function () {
return view('dashboard');
});
Route::get('account', function () {
return view('account');
});
});
استفاده از middlewareها در کنترلرها
بهتر است که به جای اضافه کردن middlewareها در داخل routeها، آنها را در داخل کنترلر اضافه کنیم. برای انجام این کار، می توانید از متد ()middleware در داخل constructor کنترلر استفاده کنید. حالا باید نام middlewareی مورد نظر را بعنوان آرگومان، به متد ()middleware بدهید.
شما همچنین می توانید به طور اختیاری از متدهای ()only و ()except برای تعیین اینکه کدام متد باید آن middleware را دریافت کند، استفاده کنید.
class DashboardController extends Controller
{
public function __construct()
{
$this->middleware('auth');
$this->middleware('admin-auth')
->only('admin');
$this->middleware('team-member')
->except('admin');
}
}
- نوشته شده توسط احسان عباسی
- بازدید: 3881