برای اینکار پکیجی که توسط خودم توسعه داده شده رو خدمتتون معرفی میکنم که برخلاف راهکارهای دیگه که این تبدیلات رو با استفاده از Middleware انجام میدن (که در نتیجه در هر Request این اعمال تکرار میشه)، تبدیلات رو در زمان ایجاد و آپدیت Modelها اعمال میکنه و کاملا بهینه هست.
میتونین به مخزن پکیج pishran/laravel-persin-string
مراجعه کنین و توضیحات کامل رو بخونین یا با من همراه باشین تا قدم به قدم مراحل راهاندازی و استفاده رو مرور کنیم.
ابتدا لازمه که پکیج رو با استفاده از دستور زیر به پروژه اضافه کنیم:
composer require pishran/laravel-persian-string
حالا کافیه فقط 2 مرحله دیگه رو طی کنیم. اول Trait پکیج رو به Modelهای مورد نظر اضافه میکنیم، برای مثال مدل Article رو به شکل زیر در نظر بگیرید:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Pishran\LaravelPersianString\HasPersianString;
class Article extends Model
{
use HasPersianString;
}
تو مرحله بعد کافیه Columnهایی از این Table که میخوایم تبدیلات روشون انجام بشه رو به ویژگی persianStrings
اضافه کنیم:
protected $persianStrings = [
'title',
'summary',
'content',
];
در مثال بالا یک مدل به نام Article داریم که در دیتابیس دارای ستونهای title
، summary
و content
برای ذخیره عنوان، چکیده و محتوای پستهای بلاگ وباپلیکیشنمون هست و همونطور که میبینید صرفا با اضافه کردن یک Trait و یک Property به کلاس مورد نظر، در زمان ایجاد یا ویرایش این مدل، تبدیل حروف و اعداد عربی و انگلیسی به فارسی روی ستونهای مشخص شده انجام میشه. کد کامل Class به شکل زیر هست:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Pishran\LaravelPersianString\HasPersianString;
class Article extends Model
{
use HasPersianString;
protected $persianStrings = [
'title',
'summary',
'content',
];
}
این پکیج همچنین امکان تنظیم نوع تبدیلات رو هم داره و میتونین مشخص کنین که چه کاراکتری به چه کاراکتری تبدیل بشه؛ برای اینکار کافیه فایل تنظیمات پکیج رو با دستور زیر Publish کنین:
php artisan vendor:publish --provider="Pishran\LaravelPersianString\ServiceProvider"
با اجرای این دستور، فایل persian-string.php
در فولدر config
ایجاد میشه که میتونین با مراجعه به این فایل تبدیلات دلخواهتون رو مشخص کنید.
امیدوارم از این مقاله لذت برده باشید و این پکیج رو تو پروژههاتون استفاده کنید تا متون فارسی رو با حروف و اعداد صحیح و استاندارد ببینیم.