8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je débute en programmation de php orienté objet.

Par rapport à cela, je voudrais savoir ce qui prend moins de place mémoire lors de la création d'une class : une variable propre à la classe (cf. $this->variable) ? Ou une variable au sein de la function ?

exemple :

class Form {
private $name ;
   public function addElement($args) {
      $id = $args['id'] ;
      $this->name = $args['name'] ;
   }
}
Modérateur
Bonsoir,

Je pense que tu te poses la mauvaise question : Est ce un attribut/propriété dans ton objet ou une simple information dans ta méthode ? Je t'invite à lire ou à relire cette notion.

Au passage, il est bon de donner une restriction sur la portée de tes attributs (arf, je cherche le terme technique) -> private - protected
Bonsoir,

Merci pour ta réponse.

En fait, je crée ici une classe Form avec grosso modo comme variable tous les attributs que les tags d'un formulaire peut avoir (placeholder, id, class, name, type, action, method, etc.)
Et dans ma fonction (addInput, addSubmit, addForm, addTextarea, etc.) j'appelle $this->attribut (voir liste non-exhaustive ci-dessus).

Comme, donc, des noms de variables sont en commun, je me demandais s'il était pertinent d'un point de vue de la mémoire de faire des $this->variable ou juste $variable…
J'ai lu dans cet article qu'une variable locale dans une fonction prend moins de ressources qu'un attribut d'un objet :

a écrit :
Initialise variables locally (working on global variables or object
properties is much slower than local variables).


Après je ne pense pas que la différence soit énorme, et il vaut sans doute mieux te soucier d'avoir un code propre, lisible et réutilisable plutôt que d'essayer de grapiller quelques octets de mémoire.