[POO] Déclaration dynamique de variable membre
Bonjour à tous,
je cherche à déclarer une nouvelle variable membre dans un objet, dynamiquement, c'est à dire en fonction de la sortie d'un script qui va vérifier si une nouvelle table n'a pas été créée et si cette nouvelle table n'est pas un nouvel attribut de cet objet.
Ca éviterait d'avoir à rajouter du code à chaque modif de la base.
J'ai essayé avec eval et en toute logique ça ne marche pas. Existe t'il une fonction prévue pour modifier le "schéma" d'une classe?
Bonne journée,
A plus,
Frédéric
[POO] Déclaration dynamique de variable membre
Bonjour à vous deux,
je débute en prog, alors j'essaie de résumer ce que j'ai compris de votre discussion et de la page de manuel :
pour accéder aux variables membres d'une classe : j'ai 2 possibilités :
- public : à "bannir" si l'on veut un contrôle à l'entrée
- méthodes setter et getter à définir soi-même, sûr mais peu flexible
J' ai un peu de mal à comprendre le rôle des méthodes __set et __get. Je comprendrais si elle jouait le rôle d'accesseurs par défaut : on définirait un setter et un getter pour chaque membre et au cas où aucune fonction n'est appelée à l'extérieur de l'objet, les méthodes __set et __get seraient appelées, dans le cadre d'une simple assignation ou "pointage" par exemple.
Là, moi je comprends __set et __get comme étant des méthodes "par défaut" pour CREER de nouvelles variables et pas seulement leur assigner une valeur.
Je suis certainement à côté de la plaque, mais les avis divergent même sur la doc : le dernier post de la doc présente bien __set et __get comme accesseurs par défaut pour des variables existantes.
Merci pour vos réponses,
à plus,
Frédéric
[POO] Déclaration dynamique de variable membre
Salut,
merci pour tes réponses. Elles m'ont aidé à comprendre que j'avais compris pour le coup des modificateurs d'accès (qu'ils sont destinés à obliger les contrôles pour une classe appelante):mouarf: J'inclus systématiquement au moins un contrôle de type dans mes setters.
Je mets donc résolu.
A plus,
Frédéric