۱ مسعود هارونی
راهنمایی تمرین Global middlewares
جامعه پی اچ پی ایجاد شده در ۰۶ تیر ۱۴۰۱

سلام و احترام خدمت شما.

در رابطه با این تمرینی که استاد به ما دادند، من تمام تاپیک‌های دوستان رو مطالعه کردم ولی روشی که خودم پیاده سازی کردم با بقیه متفاوت بود و به نظرم خیلی راحت تره، میخواستم ببینم آیا این روش درسته، و اینکه این روش بهتر و اصولی تره یا روش‌های دوستان.

توضیحات: خب ببینید من اصلا کلاسی برای Global middlewareها درست نکردم، ولی اومدم توی یک پراپرتی پرایوت توی روتر لیست گلوبال میدلور هارو نوشتم، ( که به نظرم اگر میومدم یه کلاس میساختم و توی پراپرتی‌های اون کلاس قرار میدادم گلوبال میدلور هارو و بعد با Getter اون کلاس گلوبال میدلور هارو میگرفتم، تمیز‌تر میشد کدم، نظر شما چیه؟ )و خیلی راحت اونهارو به متدی که برای ران کردن میدلور‌ها نوشتم پاس دادم، و اون متد هم میدلور هارو اجرا میکند، و گلوبال میدلورهارو قبل از میدلور هایی که برای هر روتر تعریف شده اجرا میکنم.

a997-image.png

در حقیقت توی پروژه ‎ی من گلوبال میدلورها هم مثل بقیه میدولر‌ها توی دایرکتوری Middlewares تعریف میشن ولی خب نحوه اجرا شدنشون متفاوته، که همونطور که میبینید قبل از میدلورهایی اجرا میشن که مختص هر روت نوشته شدن.

به نظرتون این روش صحیحه؟

ممنون از پاسخ گوییتون.?

سلام دوست عزیز

بله میتونید به این شکل انجام بدین

اگر به دنبال تمیز‌تر شدن هستید میتونید یه کلاس ایجاد کنید که لیست میدلورهاتون رو داخل پراپرتی اون کلاس قرار بدین

لینک زیر رو مشاهده کنید

https://github.com/laravel/laravel/blob/9.x/app/Http/Kernel.php#L16

موفق باشید ?


بهترین پاسخ
محمد گازری ۰۶ تیر ۱۴۰۱، ۰۸:۱۷