آموزش Middleware در لاراول

3 سال پیش
آموزش Middleware در لاراول
امتیاز دهید post

آموزش Middleware در لاراول

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش Middleware در لاراول خواهیم پرداخت.

Middleware به عنوان پل ارتباطی بین درخواست و پاسخ عمل می کند. این یک نوع مکانیسم فیلتر است. این فصل مکانیسم middleware در لاراول را برای شما توضیح می دهد.

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

Middleware را می توان با اجرای دستور زیر ایجاد کرد –

 

<middleware-name> را با نام middleware خود جایگزین کنید. middleware ایجاد شده را می توانید در فهرست برنامه/Http/Middleware مشاهده کنید.

مثال

برای درک مکانیزم middleware به مثال زیر توجه کنید –

مرحله 1 – اجازه دهید ما AgeMiddleware را ایجاد کنیم. برای ایجاد آن ما باید دستور زیر را اجرا کنیم –

 

مرحله 2 – پس از اجرای موفقیت آمیز فرمان خروجی زیر را دریافت خواهید کرد –

AgeMiddleware
مرحله 3 – AgeMiddleware در برنامه/Http/Middleware ایجاد می شود. فایل تازه ایجاد شده دارای کد زیر است که قبلاً برای شما ایجاد شده است.

 

 Middleware ثبت شده

ما باید قبل از استفاده از هر یک از  Middleware آن را ثبت کنیم. در لاراول دو نوع Middleware وجود دارد.

  •  Middleware جهانی
    Middleware مسیر

Middleware جهانی بر روی هر درخواست HTTP برنامه اجرا می شود، در حالی که Middleware مسیر به یک مسیر خاص اختصاص داده می شود. Middleware را می توان در برنامه/Http/Kernel.php ثبت کرد. این فایل شامل دو ویژگی  middleware$ و  routeMiddleware$ است. از ویژگی middleware $برای ثبت جهانی Middleware و از ویژگی routeMiddleware$ برای ثبت میان افزارهای خاص مسیر استفاده می شود.

برای ثبت جهانی Middleware، کلاس را در انتهای ویژگی  middleware$ لیست کنید.

 

برای ثبت Middleware مخصوص مسیر، کلید و مقدار را به ویژگی routeMiddleware$ اضافه کنید.

 

مثال

ما در مثال قبل AgeMiddleware را ایجاد کرده ایم. اکنون می توانیم آن را در ویژگی middleware route خاص ثبت کنیم. کد ثبت نام در زیر نشان داده شده است.

کد زیر برای app/Http/Kernel.php است –

 

پارامترهای Middleware

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

 

مثال

مرحله 1 – با اجرای دستور زیر RoleMiddleware را ایجاد کنید –

 

مرحله 2 – پس از اجرای موفق، خروجی زیر را دریافت خواهید کرد –

Middleware Parameters

مرحله 3 – کد زیر را در روش دسته بندی برنامه جدید RoleMiddlewareat/Http/Middleware/RoleMiddleware.php اضافه کنید.

 

مرحله 4 – فایل RoleMiddleware را در برنامه \ Http \ Kernel.php ثبت کنید. خط ثبت شده با رنگ خاکستری را در آن فایل اضافه کنید تا RoleMiddleware را ثبت کنید.

 

RoleMiddleware

 

مرحله 5 – دستور زیر را برای ایجاد TestController اجرا کنید –

 

مرحله 6 – پس از اجرای موفقیت آمیز مرحله بالا، خروجی زیر را دریافت خواهید کرد –

TestController

مرحله 7 – خطوط کد زیر را در فایل app/Http/TestController.php کپی کنید.

 

app/Http/TestController.php

 

مرحله 8 – خط زیر را در فایل app/Http/route.php اضافه کنید.

app/Http/route.php

 

مرحله 9 – از URL زیر دیدن کنید تا Middleware را با پارامترها آزمایش کنید

 

مرحله 10 – خروجی مطابق تصویر زیر ظاهر می شود.

Role Editor

Terminable Middleware 

پس از ارسال پاسخ به مرورگر، Terminable Middlewareبرخی از وظایف را انجام می دهد. این را می توان با ایجاد یک middleware با روش terminate در middleware انجام داد. Terminable Middleware باید با Middleware جهانی ثبت شوند. روش خاتمه دو آرگومان  request$ و reply$ دریافت می کند. روش خاتمه را می توان مانند کد زیر نشان داد.

مثال

مرحله 1 – با اجرای دستور زیر TerminateMiddleware ایجاد کنید.

 

مرحله 2 – مرحله بالا خروجی زیر را تولید می کند –

Terminable Middleware
مرحله 3 – کد زیر را در TerminateMiddleware تازه ایجاد شده در app/Http/Middleware/TerminateMiddleware.php کپی کنید.

 

مرحله 4 – فایل TerminateMiddleware را در برنامه \ Http \ Kernel.php ثبت کنید. خط ثبت شده با رنگ خاکستری را در آن فایل اضافه کنید تا TerminateMiddleware را ثبت کنید.

TerminateMiddleware
مرحله 5 – دستور زیر را برای ایجاد ABCController اجرا کنید.

 

مرحله 6 – پس از اجرای موفق URL، خروجی زیر را دریافت خواهید کرد –

ABCController
مرحله 7 – کد زیر را در فایل app/Http/ABCController.php کپی کنید.

 

مرحله 8 – خط زیر را در فایل app/Http/route.php اضافه کنید.

app/Http/route.php

 

مرحله 9 – برای آزمایش Terminable Middleware به آدرس زیر مراجعه کنید.

 

مرحله 10 – خروجی مطابق تصویر زیر ظاهر می شود.

ABC Controller

 

منبع.

 

لیست جلسات قبل لاراول

  1. آموزش لاراول
  2. آموزش مقدماتی لاراول
  3. آموزش نصب لاراول
  4. آموزش ساختار برنامه در لاراول
  5. آموزش پیکربندی لاراول
  6. آموزش مسیریابی در لاراول
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه