تو این مطلب میخوام سادهترین روشی که برای تبدیل حروف و اعداد عربی (و انگلیسی) به فارسی در لاراول وجود داره رو بهتون معرفی کنم.
برخلاف خیلی از پکیجها و راهکارها که این تبدیل رو با استفاده از Middleware انجام میدن، که نتیجش میشه اینکه در هر Request این تبدیلها باید انجام بشه؛ پکیجی که اینجا بهتون معرفی میکنم این تبدیل رو در زمان ایجاد و آپدیت Model ها اعمال میکنه، در نتیجه در استفادههای بعدی از اون Model، نیازی به تبدیل مجدد نیست.
در لینک زیر میتونید پکیج رو مشاهده کنید:
https://github.com/pishran/laravel-persian-string
توضیحات به فارسی نوشته شده و طرز کار پکیج هم واقعا سادهست، همچنین امکان تغییر در تنظیمات مربوط به تبدیل حروف هم وجود دارد.
اول پکیج رو با Composer به اپلیکیشنمون اضافه میکنیم:
composer require pishran/laravel-persian-string
بعد Trait پکیج رو به Model مد نظرمون اضافه میکنیم:
و در آخر هر ویژگی (Attribute) که میخوایم در زمان ایجاد یا ویرایش مدل (Saving) تبدیل روش اعمال بشه رو به ویژگی persianStrings در کلاس مدلمون اضافه میکنیم:
در مثال بالا، یک مدل به نام Post داریم که در دیتابیس دارای ستونهای title، summary و content برای ذخیره عنوان، چکیده و محتوای پستهای بلاگ اپلیکیشنمون هست و همونطور که میبینید صرفا با اضافه کردن یک Trait و یک Property به کلاسمون، در زمان ایجاد پست جدید یا ویرایش پست، تبدیل حروف و اعداد عربی و انگلیسی به فارسی روی ستونهای مشخص شده انجام میشه. کد کامل کلاس:
این پکیج همچنین امکان تنظیم نوع تبدیلات رو هم داره و میشه به راحتی مشخص کرد که چه کاراکتری به چه کاراکتری تبدیل بشه؛ برای اینکار کافیه فایل تنظیمات پکیج رو با دستور زیر publish کنید:
php artisan vendor:publish --provider="Pishran\LaravelPersianString\ServiceProvider"
بعد از اجرای دستور بالا، به فایل جدید config/persian-string.php مراجعه کنید و تبدیلات مد نظرتون رو تنظیم کنید.
امیدوارم از این مطلب لذت برده باشید و این پکیج رو تو پروژههاتون استفاده کنید تا متون فارسی رو با اعداد و کاراکترهای صحیح و استاندارد فارسی ببینیم.