سلام وقتتون بخیر. میشه در مورد عملکرد accessor ها توضیح مختصری بدین؟ از کجا متوجه میشن متد هایی که ما نوشتیم واسه کدوم داده است؟
سلام
accessorها متدهایی هستن که به شما امکان میدن تا قبل از دریافت مقادیر از مدلها تغییراتی رو انجام دهید. این متدها معمولاً برای تبدیل و فرمتبندی دادهها قبل از ارسال آنها به کاربر یا یوزر دیگری استفاده میشن.
به طور مثال، اگر شما بخواید قبل از نمایش آدرس ایمیل یک کاربر، اون رو به حالتی مخفی تبدیل کنید، میتونید از accessorها استفاده کنید. با تعریف یک متد در مدل که با پسوند "Attribute" به نام دیتای مورد نظر خود اضافه میشه، میتونید داده رو مدیریت کنید.
برای مثال:
public function getEmailAttribute($value)
{
// انجام تبدیلات مورد نظر بر روی $value
return hideEmailAddress($value); // تابع فرضی برای نمایش مخفی ایمیل
}
این متد بطور خودکار زمانی فراخوانی میشه که دیتای "email" در مدل فراخوانی پیدا کنید. اینجا تابع "hideEmailAddress" بر روی مقدار ورودی اجرا شده و نتیجه به عنوان مقدار نهایی بازگردانده میشه.
با استفاده از accessorها، شما میتونید تغییرات رو به دادهها اعمال کرده و سپس دادههای تغییر یافته رو به صورت خودکار در محیطهای مختلف لاراول (مانند نمایش در ویوها یا API) مشاهده کنید.