Middleware در لاراول( Laravel ) چیست ؟
در هنگام طراحی سایت یا برنامه نویسی سیستمهای تحت وب، مسیرهای متعددی در آن پیادهسازی میشود. پیش از اجرای این مسیرها یا نشانیهای وب، لازم است تا فعالیتها یا بررسیهایی صورت پذیرد.
برای مثال ممکن است برای برخی از مسیرها، بررسی شود که آیا کاربر وارد سیستم شده است یا خیر و برای برخی دیگر از مسیرها بررسی شود که آیا کاربر وارد شده به سیستم دسترسی مدیریت دارد یا خیر.
Middlewareها در لاراول ابزارهایی هستند که انجام فعالیتهای تکراری پیش از پاسخگویی به درخواستهای کاربران را مدیریت میکنند. بدون استفاده از Middlewareها، کدهای تکراری میبایست پیش از پاسخگویی به درخواستها نوشته شوند. همچنین در هنگام تغییرات ممکن است یافتن محلهای تغییر دشوار و زمانبر باشد.
Laravel به صورت پیشفرض دارای چندین Middleware تعریف شده است. همچنین تعدادی Middleware نیز به صورت خودکار پیش از اجرای تمامی درخواستها به اجرا در میآیند. از آن جمله، Middlewareهای مدیریت Cookieها و مدیریت Session است.
Middlewareها چه کارهایی انجام میدهند ؟
Middlewareها میتوانند فعالیتهای مختلفی انجام دهند. از آن جمله، بررسی ورودیهای کاربر، تغییر آنها، تغییر مسیر، تغییر محتوای صفحه و یا توقف اجرای سیستم.
Middlewareها میتوانند پیش از اجرای درخواستها یا پس از آنها فراخوانی شوند. شیوهی اجرای Middlwareها به صورت زنجیری است. هر Middleware پس از انجام فعالیتهای خود، Middleware بعدی را فراخوانی میکند تا زنجیره به پایان برسد.
تعریف Middlewareهای جدید توسط کاربر
لاراول این امکان را به شما میدهد که به تعداد دلخواه Middlewareهای خود را تعریف و کدنویسی نمایید. Middlewareها در لاراول مانند سایر بخشهای این فریمورک به صورت اشیا تعریف میشود. نرمافزار خط فرمان Artisan دستوراتی برای تعریف Middleware در اختیار شما قرار میدهد.
همچنین در هنگام تعریف مسیرها یا Routeها یا به صورت گروهی یا به صورت عمومی میتوانید یک Middleware را به Routeهای خود تخصیص دهید.