L'appel de la variable directement la propriété vs lecture/définition - OOP de Conception

Je sais que c'est sans doute subjectif, mais j'ai lu ce optimisation de la page de Google pour PHP et ils suggèrent d'utiliser la variable directement la propriété sans la nécessité de getters et setters. Naturellement je vois le gain de performance dans ce mais est-ce vraiment une bonne pratique de conception à suivre?

Leur Exemple à l'aide de getter/setter:

class dog {
  public $name = '';

  public function setName($name) {
    $this->name = $name;
  }

  public function getName() {
    return $this->name;
  }
}

$rover = new dog();
$rover->setName('rover');
echo $rover->getName();

Suggéré D'Optimisation:

$rover = new dog();
$rover->name = 'rover';
echo $rover->name;

Ce serait un changement bienvenu dans mon processus de création que je vois la nécessité pour les getters/setters de s'en aller, mais quels sont les autres obstacles/avantages peuvent se produire en faisant cela?

  • Gardez à l'esprit que ce tutoriel est un peu daté. C'est probablement toujours d'actualité 5.3, mais la performance n'est pas vraiment le sujet ici. Je voulais recommander Berrys post sur les getters/setters de nouveau, mais j'ai remarqué que vous le savez déjà..
  • L'article que vous avez lié a été écrit par une personne ignorant de PHP internals ou c'est vraiment obsolète. Quelques conseils il y a au moins est simplement faux. C'est une honte de quelque chose comme cela peut porter Googles nom.
  • ouais j'aime vraiment Berrys post sur le sujet, vraiment essayer de couper vers le bas sur le code inutile.
  • naturellement il y a certaines choses que je ne sois pas d'accord avec sur la page moi-même, pourriez-vous en dire un peu plus?
  • Pafford: L'auteur (pour je ne sais quelle raison) pense que $x = ...; echo $x utilise deux fois plus de mémoire que l'utilisation de echo ...; directement.
  • Pafford Merci les gars, vraiment apprécier ça! Ne savais pas que mon blog a été très populaire. 🙂
  • Le lien vers Google est aujourd'hui brisé