Quando devo usar métodos, get () e deslocamento mágico

11

Existem três maneiras diferentes de obter um valor de entidade, por exemplo, o tipo de conteúdo do nó.

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

Qual devo usar?

Daniel Wehner
fonte

Respostas:

10

Se houver um método específico, $node->getType()recomendo o uso deste. Obviamente, esse nunca é o caso de coisas dinâmicas como campos - pois essa $node->type->valueseria a recomendação.

Edit: $node->get('type')é apenas uma variante mais detalhada de $node->type- você recebe o objeto de campo "type".

fago
fonte
5

Um método específico IMO é sempre preferido por causa da @returndica de tipo. Você realmente não pode digitar o retorno de um get('foo'). E a mágica sempre será mais lenta e também desconhecida para os IDEs sobre o que é retornado. (Observe que toda vez que estamos falando de IDEs, também estamos falando de possíveis erros - não apenas o IDE, mas o programador não tem conhecimento do que está em uma variável.)


fonte