Когда я должен использовать методы, get () и магическое смещение

11

Есть три различных способа получить значение сущности, например тип содержимого узла.

  • $node->type->value
  • $node->getType()
  • $node->get('type')

Какой я должен использовать?

Дэниел Венер
источник

Ответы:

10

Если есть определенный метод - как для $node->getType()- я бы рекомендовал использовать этот. Очевидно, что это никогда не относится к динамическим вещам, таким как поля - для этого $node->type->valueбудет рекомендация.

Редактировать: $node->get('type')это просто более подробный вариант $node->type- оба получают объект поля типа.

FAGO
источник
5

Конкретный метод IMO всегда предпочтительнее из-за @returnшрифта. Вы не можете на самом деле напечатать возвращение get('foo'). И магия всегда будет медленнее и также неизвестна IDE о том, что возвращается. (Обратите внимание, что каждый раз, когда мы говорим об IDE, мы также говорим о возможных ошибках - не только IDE, но и программист не знает, что находится в переменной.)


источник