یکی از نیازهای برنامهنویسای ایرانی تو توسعه وبسایتها و اپلیکیشنها، تبدیل تاریخ میلادی و شمسی و بالعکسه. برای این کار کتابخونهها و ابزارهای مختلفی برای فریمورکها و زبانهای برنامهنویسی مختلف وجود داره. برای لاراول ۴ و نسخههای قبلتر از اون پکیجهایی بودند که کار خیلیها رو برای تبدیل تاریخ راه مینداخت، ولی از نسخه ۵ Laravel یک خلاء وجود این کتابخونه با توجه به عدم توسعه پکیجهای قبلی به وجود اومده، البته اگر نخواهیم از پکیجهای مخصوص لاراول استفاده کنیم و به پکیجهای دیگه زبان PHP بسنده کنیم هیچ مشکلی وجود نداره ولی خب بعضیها دوس دارن برای آرامش خاطر هم شده پکیجی باشه که برای لاراول ۵ ساخته شده باشه.
همونطور که مستحضر هستید برای بومی سازی پکیجها و کتابخونهها برای یک فریمورک خاص باید از Service Providerها استفاده کنیم، خب Laravel هم از این قاعده مستثنی نیست. در گذشته پکیج تاریخجلالی که توسط سالارکابلی نوشته شده بود و Bundle اون برای لاراول ۳ استفاده می شد و در لاراول ۴ هم Milad Rey پکیجی نوشته بود که نسخه بهبود یافته اون باندل برای لاراول ۴ بود ولی این پکیج برای لاراول ۵ توسعه داده نشد.
از این رو دست به کار شدم و پکیج مذکور رو برای Laravel ۵ آماده کردم و یه سری تغییرات بسته به نیاز خودم (شاید به درد بقیه هم بخوره) در اون اعمال کردم. برای دریافت این پکیج میتونید با استفاده از composer به روش زیر عمل کنید:
1 |
$ composer require morilog/jalali |
سپس فایل config/app.php رو باز کرده و مقادیر زیر رو در آرایههای خودشون قرار میدیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Morilog\Jalali\JalaliServiceProvider', ], . . . . . 'alias' => [ ... 'jDate' => 'Morilog\Jalali\Facades\jDate', 'jDateTime' => 'Morilog\Jalali\Facades\jDateTime', ] |
برای اطلاعات بیشتر و نحوه استفاده هم میتونید ریپازیتوریپروژه تو گیتهاب رو ببینید و مطالعه کنید. البته هنوز کمبود کتابخونهای مثل Carbon برای فارسی و تاریخ جلالی به شدت احساس می شه.
*** دوستان توجه داشته باشید که این پکیج فقط و فقط کارش نمایش تاریخ میلادی به شمسیه و نه چیز دیگهای. هیچ محاسباتی بر مبنای تاریخ شمسی ارائه نمیده و تمام محاسبات بر مبنای تاریخ میلادیه.