Dans ce tutoriel, nous allons cloner un objet PHP pour créer une copie de l'objet.
Utilisation de l'opérateur d'affectation pour copier un objet
La valeur de la variable d'objet peut être copiée dans une autre variable en PHP en utilisant le clonage d'objet. Dans PHP, une copie peu profonde de l'objet peut être créée en utilisant le mot-clé cloner, et une copie profonde de l'objet peut être créée en utilisant la méthode __cloner(). Dans l'exemple suivant, nous utilisons le clone de mot-clé et la méthode __cloner() Lorsqu'une variable d'objet est affectée à une autre variable.
Utilisez le code ci-dessous pour créer un fichier PHP appelé SansClone.php, et stocker le fichier dans l'emplacement du serveur Web. Ici, un cours nommé de cours est déclaré; Le cours contient une variable, $ cours_id, et une fonction, Détails(). La fonction imprimera les détails du cours en fonction de l'ID de cours. Ensuite, un objet nommé $ objure est déclaré accéder aux membres de la classe.
Une fois la valeur de $ cours_id est affecté à l'aide de cet objet et la variable d'objet est affectée à $ objcrs, Les deux variables utiliseront le même emplacement dans la mémoire pour la référence. Par conséquent, si la valeur d'un objet est modifiée, alors l'autre objet sera automatiquement modifié s'ils sont copiés.
// définir une classeVous obtiendrez la sortie suivante après avoir exécuté le script à partir du serveur Web. Ici, si la valeur de $ objcrs est modifiée, alors la valeur de $ objure est modifiée à la même valeur.
Utilisation du mot-clé Clone pour copier un objet
Le cloner Le mot-clé peut être utilisé pour résoudre le problème ci-dessus. Utilisez le code suivant pour créer un fichier nommé cloner.php. La même classe est utilisée ici. L'objet de la classe est cloné vers un autre objet en utilisant le cloner mot-clé pour créer une copie de l'objet. Si la valeur d'une variable change, elle ne modifiera pas la valeur de l'autre variable.
// définir une classeVous obtiendrez la sortie suivante après avoir exécuté le script à partir du serveur Web. Ici, lorsque la valeur de $ objcrs sera modifiée, la valeur de $ objure restera inchangée.
Utilisation de la méthode __clone () pour copier un objet
Le __cloner() La méthode peut également être utilisée pour résoudre le problème ci-dessus. À l'aide du code bwlow, créez un fichier nommé avec un clonéméméthode.php. La même classe est utilisée ici. Le __cloner() La méthode est utilisée dans le script avec le mot-clé clone. Cette méthode est appelée automatiquement lorsqu'un objet est cloné vers un autre objet. Selon le script, une nouvelle valeur est attribuée pour l'objet cloné à l'intérieur du __cloner() méthode.
// définir une classeVous obtiendrez la sortie suivante après avoir exécuté le script à partir du serveur Web. Ici, quand $ objcrs est cloné, sa valeur est modifiée par le __cloner() méthode, mais la valeur de $ objure reste inchangé. La valeur de $ objure est imprimé avant et après le clonage. La valeur de $ objcrs est imprimé plus tard.
Conclusion
Le clonage est une caractéristique utile de PHP qui peut être utilisée pour créer une copie d'un objet. Les deux cloner mot-clé et le __cloner() la méthode est indiquée dans ce tutoriel via des exemples simples. Nous espérons que ce tutoriel vous a aidé à comprendre le clonage des objets.