Есть три различных способа получить значение сущности, например тип содержимого узла.
$node->type->value
$node->getType()
$node->get('type')
Какой я должен использовать?
Если есть определенный метод - как для $node->getType()
- я бы рекомендовал использовать этот. Очевидно, что это никогда не относится к динамическим вещам, таким как поля - для этого $node->type->value
будет рекомендация.
Редактировать: $node->get('type')
это просто более подробный вариант $node->type
- оба получают объект поля типа.
Конкретный метод IMO всегда предпочтительнее из-за @return
шрифта. Вы не можете на самом деле напечатать возвращение get('foo')
. И магия всегда будет медленнее и также неизвестна IDE о том, что возвращается. (Обратите внимание, что каждый раз, когда мы говорим об IDE, мы также говорим о возможных ошибках - не только IDE, но и программист не знает, что находится в переменной.)