رابطه میدلور

آموزش middleware در لاراول (به زبان ساده)

اساطیر زبان

middleware لاراول مکانیزمی است که گردش کار بین درخواست و پاسخ را کنترل می کند. وقتی درخواستی ارسال می شود، middleware آن را شناسایی و پردازش می کند. با توجه به نتیجه پاسخ مناسبی به درخواست ارائه می دهد.

به عنوان مثال هنگامی که کاربر درخواست بارگذاری تصویر را ارسال می کند، یک middleware بررسی می کند که آیا کاربر احراز هویت شده است یا خیر. اگر کاربر احراز هویت شده باشد، middleware تصاویر را بارگذاری می کند در غیر این صورت کاربر را به صفحه ورود هدایت می کند.

 


لاراول

توی این پک فوق العاده، لاراول رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با لاراول وبسایت بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

ایجاد و تعریف Middleware

طبق معمول در لاراول، می توانید با اجرای دستور زیر، middleware ایجاد کنید

php artisan make:middleware<middleware_name>

در دستور بالا باید middleware-name را با نامی که می خواهید بر روی middleware خود بگذارید جایگزین کنید.

به عنوان مثال برای ایجاد middleware که نام آن AgeMiddleware است، باید دستور زیر را اجرا کنید

php artisan make:middleware AgeMiddleware

middleware ایجاد شده را می توانید در دایرکتوری app/Http/Middleware مشاهده کنید.

روش ارسال ایمیل در لاراول

ثبت Middleware

برای استفاده موثر از middleware ها​​، باید آن ها را در laravel ثبت کنید.

دو نوع middleware در لاراول وجود دارد،

1. Global Middleware

2. Route Middleware

1-Global Middleware

همانطور که از نامش پیداست، Global Middleware در طول هر درخواست HTTP ، کل برنامه لاراول اجرا می شود.

Global Middleware زمانی مفید است که در هر درخواست HTTP شرایط خاصی مانند شرایط احراز هویت را بررسی کنید.

یک برنامه وب حرفه ای باید اصالت کاربر را در طول هر فعالیت برای اهداف امنیتی بررسی کند.

در اینجا Global Middleware به ما کمک می کند تا وظایف خود را انجام دهیم. می توانیم Middleware را در فایل “app/Http/Kernel.php” ثبت کنیم.

این فایل شامل دو ویژگی middleware$ و routeMiddleware$ است. Global Middleware در آرایه middleware$ ثبت شده است.

از ویژگی routeMiddleware$ برای ثبت Middleware های خاص مسیر استفاده می شود.

طبق خطوط زیر می توانید Global Middleware را تعریف کنید:

protected $middleware = [

\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

\App\Http\Middleware\EncryptCookies::class,

\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

\Illuminate\Session\Middleware\StartSession::class,

\Illuminate\View\Middleware\ShareErrorsFromSession::class,

\App\Http\Middleware\VerifyCsrfToken::class,

];

2-Route Middleware

ما می توانیم route middleware را به هر مسیر خاصی اختصاص دهیم.

شما باید middleware را با یک کلید به فایل /app/Http/Kernel.php خود اضافه کنید. به چنین middleware هایی route middleware گفته می شود.

با قطعه کد زیر می توانید route middleware را به همراه کلید آن ثبت کرده یا بنویسید:

protected $routeMiddleware = [

‘auth’ => \App\Http\Middleware\Authenticate::class,

‘auth.basic’ => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,

‘guest’ => \App\Http\Middleware\RedirectIfAuthenticated::class,

‘userUploadImage’ => \Illuminate\Routing\Middleware\userUploadImage::class,

];

در کد بالا، route middleware را با کلیدی مانند “userUploadImage” اضافه کرده ایم.

Middleware با پارامترها

می توانیم پارامترها را به همراه middleware تعریف کنیم.

به عنوان مثال اگر برنامه شما دارای نقش های متفاوتی مانند کاربر، ادمین، سوپر ادمین و غیره باشد و بخواهید عمل را بر اساس نقش، احراز هویت کنید این امر با ارسال پارامترها با middleware به دست می آید. middleware ایجاد شده شامل تابع زیر است و می توانیم آرگومان سفارشی خود را بعد از آرگومان next$ منتقل کنیم.

public function handle($request, Closure $next) {

return $next($request);

}

Terminable Middleware

این ها انواع خاصی از middleware ها هستند که بلافاصله پس از ارسال هرگونه پاسخی به مرورگر شروع به کار می کنند. متد terminate برای دستیابی به این هدف استفاده می شود. وقتی از یک متد terminate در middleware پروژه شما استفاده می شود، پس از ارسال پاسخ مرورگر، به طور خودکار فراخوانی می شود.

<?php

namespace Illuminate\Session\Middleware;

use Closure;

class SessionBegin

{

public function handle($request, Closure $next)

{

return $next($request);

}

public function terminate($request, $response)

{

// thing to do while terminating the middleware

}

}

حتما دانلود کنید: آموزش صفر تا صد لاراول (رایگان)

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست