Accessor یا اکسسور در لاراول الوکوئنت برای تعریف روش خواندن یک Attribute مدل استفاده می‌شود. می‌توان با آن نام کامل مشتری را از دو فیلد ساخت یا نمایش یک مقدار ذخیره‌شده را تغییر داد. مفهوم Getter در زبان‌ها و ORMهای دیگر هم وجود دارد، اما API دقیق اکسسور در این صفحه مربوط به لاراول است.

مثال لاراول با Attribute

use Illuminate\Database\Eloquent\Casts\Attribute;
class Customer extends Model {
    protected function fullName(): Attribute {
        return Attribute::make(
            get: fn () => trim($this->first_name . ' ' . $this->last_name),
        );
    }
}

echo $customer->full_name;

Accessor در برابر Mutator

اکسسور هنگام خواندن ویژگی اعمال می‌شود. در مقابل میوتیتور هنگام تنظیم مقدار می‌تواند آن را پیش از ذخیره‌سازی تبدیل کند. این دو رفتار می‌توانند در یک Attribute تعریف شوند.

نکته فنی

نمایش قیمت با جداکننده هزارگان در یک Accessor مفید است، ولی ممکن است نوع عددی خام را به رشته تبدیل کند. برای محاسبات مالی، نوع داده و جداسازی نمایش از مقدار اصلی مهم است.

اصطلاحات مرتبط: میوتیتور، الوکوئنت، اکتیو رکورد، مدل.