Quand dois-je utiliser les méthodes, get () et le décalage magique

11

Il existe trois façons différentes d'obtenir une valeur d'entité, par exemple le type de contenu de nœud.

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

Lequel devrais-je utiliser?

Daniel Wehner
la source

Réponses:

10

S'il existe une méthode spécifique - comme pour $node->getType()- je recommanderais d'utiliser celle-ci. De toute évidence, ce n'est jamais le cas pour des choses dynamiques comme les champs - car ce $node->type->valueserait la recommandation.

Edit: $node->get('type')est juste une variante plus verbeuse de $node->type- les deux vous obtiennent l'objet champ "type".

fago
la source
5

Une méthode spécifique IMO est toujours préférée en raison de la @returntypographie. Vous ne pouvez pas vraiment taper le retour d'un fichier get('foo'). Et, la magie sera toujours plus lente et aussi inconnue des IDE sur ce qui est retourné. (Notez que chaque fois que nous parlons d'IDE, nous parlons également de bogues possibles - pas seulement l'IDE mais le programmeur n'a aucune connaissance de ce qui est dans une variable.)


la source