POO et références en PHP Programmation Orientée Objet en PHP - Partie 7 Introduction Cela fait partie de ma série 7, Programmation Orientée Objet en PHP. Comprendre références dans toute langue est généralement un casse-tête: Vous avez besoin de savoir ce que signifie une référence dans une langue puis savez comment l'utiliser dans cette langue. Tout en sachant ce que cela signifie est normalement ne suffit pas de savoir comment l'utiliser. Donc, nous devons apprendre à utiliser des références à la programmation orientée objet de PHP.
Le mot, objet, ci-dessous se réfère à un objet instancié. Dans cette partie de la série, nous examinons les références d'objet. Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected]. Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez.
Affectation d'une variable objet à une autre variable Lorsque vous affectez une variable objet à une nouvelle variable, comme objet $ a est assignée à $ B ci-dessous, les deux variables se réfèrent toujours à la même région (objet) dans la mémoire; pas de copie du contenu de la région est réalisée dans une autre région. Lire et essayer le code suivant: class A {public $ var = 1; } $ A = new A; $ b = $ a; $ b-> var = 2; echo $ a-> var. "echo $ b-> var.
" ?> Affectation d'une référence d'objet à une variable Lorsque vous attribuez une référence d'objet à une nouvelle variable, que c & $ est affecté à $ D ci-dessous, les résultats sont les mêmes que la copie d'une variable d'objet à un autre; aucun contenu de zone de mémoire est copiée dans une autre région de la mémoire. Lire et essayer le code suivant: class A {public $ var = 1; } $ C = new A; $ d = & $ c; $ d-> var = 2; echo $ c-> var. "echo $ d-> var.
" ?> Le passage d'un objet ordinaire comme argument à une fonction lorsque vous passez un objet comme argument à une fonction, à la fois l'objet de paramètre et l'objet en dehors de la fonction, reportez-vous à la même région (objet) dans la mémoire. Lire et essayer le code suivant: class A {public $ var = 1; } $ E = new A; echo $ e-> var. «Fonction fn ($ obj) {$ obj-> var = 2;. Echo $ obj-> var"} fn ($ e); echo $ e-> var.
? "> Le passage d'un objet par référence Lorsque vous passez un objet par référence à une fonction, les résultats sont les mêmes que passer l'objet ordinairement Lire et essayez le code suivant:. Class A {public $ var = 1;} $ e = Une nouvelle;. echo $ e-> var "fonction fn (& $ obj) {$ obj-> var = 2; echo $ obj-> var. "} Fn ($ e);. Echo $ e-> var"?>
else…