ساخت منوی داینامیک در لاراول با کمک service provider

یکی از راه های ساخت منو داینامیک (یا منوی ناوبری) در لاراول استفاده از View composer در Service providerهاست.
آشنایی بیشتر با، به زبان فارسی Service Provider
سایت رسمی لاراول Service Provider

برای ساخت منو ما باید اول Service provider خودمون رو با php artisan بسازیم:

فایل جدید در مسیر app/Providers ساخته شده، که نمونه فایل ما به این شکله:

حالا در متد boot دستورات زیر رو وارد می‌کنیم:

در خط اول مشخص می‌کنیم که چه فایلی رو برای ارسال پارامتر انتخاب کردیم، در خط بعدی ما متغییر menu_items رو تعریف کردیم که فایل مدل Menu در اون قرار می گیره.

محتویات فایل header.blade.php ما به این صورت هست:

حالا برای اطمینان از لود شدن Service providerمون بهتره که دستور زیر رو توی ترمینال وارد کنیم:

با اجرای این دستور فایل کش کانفیگ دوباره ساخته میشه.

با این کار هر بار که فایل header فراخوانی بشه به طور خودکار لاراول منوی سایتمون رو به فایل header.blade.php ارسال می‌کنه و دیگه نیازی نیست که توی کنترلر خودمون هر بار متغیری به header خودمون ارسال کنیم.

بهترین پکیج لاراول برای برنامه نویس های تنبل!

اگر شما مایل به استفاده از (CRUD (Create/Read/Update/Delete در پروژه خودتون هستید، پکیج rapyd می تونه بهترین گزینه برای شما باشه.

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

نصب Rapyd از طریق Composer :

بعد از نصب باید شما در فایل config/app.php به providers این خط رو اضافه کنید:

 

 

برای لاراول ورژن پایین تر از۵٫۱

 

 

برای ساخت فایل های view پکیج دستور زیر را وارد کنید:

تا اینجا پکیج rapyd برای لاراول نصب شد، حالا بریم سراغ چند مثال از چگونگی استفاده از rapyd .

پکیج rapyd برای نمایش دیتاها از DataGrid استفاده می کنه که برای نمونه، کدهای زیر قرار گرفته:

نمونه فایل show-grid.blade.php برای نمایش اطلاعات:

در نهایت خروجی کدهای ما به این صورت میشه:

DataGrid-ouput

همان‌ طور که مشاهده کردید برای نمایش یک لیست از فایل ها کافیه سه خط به فایل view خودتون اضافه کنید و بقیه کارها توسط پکیج Rapyd انجام میشه.

جهت ایجاد، ویرایش و حذف اطلاعات هم می‌شه از DataEdit استفاده کرد:

 

فایل view جهت نمایش فرم ویرایش:

در نهایت نتیجه کار:

DataForm-output

این پست فقط جهت آشنایی مختصر با rapyd نوشته شده، برای دیدن تمامی متد های این پکیج شما می تونید به سایت دمو مراجعه و تمامی نمونه کدهای این پیکج رو مشاهده کنید.

سایت دمو پکیج : rapyd.com/rapyd-demo
گیت هاب : github.com/zofe/rapyd-laravel