Вопрос

при использовании doctrine я натыкаюсь на эти 2 слова:аксессуар и мутатор.

используются ли они только в doctrine или они специфичны для php?

и что они означают?

Спасибо

Это было полезно?

Решение

Они просто необычные условия для Getter и Benters.

class MyClass
{
    private $prop;

    // Accessor (or Getter)
    public function getProp()
    {
        return $this->prop;
    }


    // Mutator (or Setter)
    public function setProp($value)
    {
        $this->prop = $value;
    }

}

Другие советы

Разве мы не должны использовать __get и __set в php5 и позже сейчас?

Если я вас правильно понимаю, эти 2 особенные, чтобы я угадал любой язык ориентированного на объект, язык программирования. Дело в том, что Accessor - это метод или функция, которая обеспечивает доступ к частным полям в вашем методе класса и мутатора позволяет изменять частные поля. Я могу пойти на написание об этом, но я предлагаю вам просто Google их, и вы получите много информации об этом. Все о капсулировании <- предложить вам искать этот термин.

Это не просто разные термины для геттеров и сеттеров, по крайней мере, не в Laravel.

Процитируем документацию:"Средства доступа и мутаторы позволяют вам форматировать атрибуты Eloquent при извлечении их из модели или установке их значения".

https://laravel.com/docs/master/eloquent-mutators

Итак, вы могли бы сказать, что геттеры и сеттеры - это подмножество средств доступа и мутаторов, которые изменяют данные с нулевым коэффициентом.

Другими словами, если бы я хотел получить необработанное поле "стоимость" из таблицы, я бы использовал геттер.Если бы я хотел, чтобы это поле было выражено и отформатировано в фунтах и пенсах, то я мог бы использовать средство доступа.

Есть другие способы, которыми я мог бы это сделать, но это один из вариантов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top