Supprimer un membre d'un objet?
Est-il un moyen simple de supprimer un membre d'un objet? Pas simplement le mettre à null, mais le fait de le supprimer.
Merci! 🙂
Edit: j'ai déjà essayé la fonction unset(), et la valeur de la variable membre à la valeur null n'est évidemment pas le travail. Je suppose que j'ai pu convertir l'objet d'un tableau, puis retirer la clé du tableau en question, et de les convertir dans un objet, mais blech... Il doit y avoir un moyen plus facile!
source d'informationauteur rinogo
Vous devez vous connecter pour publier un commentaire.
Vous utilisez RedBean. Viens de vérifier it out. Et ces haricots objets n'ont pas de réelles propriétés.
Ne fonctionne pas, parce que
->field
est un virtuel attribut. Il n'existe pas dans la classe. Plutôt, il réside dans leprotected $bean->properties[]
qui vous ne pouvez pas accéder. RedBean n'implémente les méthodes magiques__get
et__set
pour la récupération et la configuration des attributs.C'est pourquoi le
unset()
ne fonctionne pas. Il unsets une propriété qui n'a jamais existé à cet endroit.Fonctionne très bien pour moi. Êtes-vous sûr que vous 're en train de faire?
Mise à jour:
Il fonctionne également pour les propriétés définies dans les classes:
à l'intérieur de vous l'objet, vous pouvez définir une méthode magique appelé
__unset
Et Jon a résumé les autres facteurs de bien.
RedBean a un removeProperty méthode sur les haricots.
Éventuellement unset().
Pas vous ne pouvez pas, ni dans le Runkit module dois-je voir un moyen d'y arriver, même si les moyens pour supprimer méthodes/fonctions/constantes existent.
Avec RedBean 4 vous pouvez utiliser
Voulez-vous déconfigurer la propriété, simplement parce que vous ne voulez pas stockée dans la base de données?
Si oui, il suffit de déclarer la propriété
private
dans la classe.Bravo à cette réponse: Pas bien de gagner de un php-redbean à la base de données