OOP och referenser i PHP objektorienterad programmering i PHP - Del 7 Inledning Detta är en del 7 av min serie, objektorienterad programmering i PHP. Förstå referenser på alla språk är i allmänhet en huvudvärk: Du måste veta vad ett referensorgan på ett språk och sedan vet hur man använder det på det språket. Bara att veta vad det betyder är normalt inte tillräckligt för att veta hur man använder den. Så vi måste lära sig att använda referenser i objektorienterad programmering i PHP. Ordet, objekt, nedan avser ett instansieras objekt.
I denna del av serien, tittar vi på objektreferenser. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Tilldela en objektvariabel till en annan variabel När du tilldelar en objektvariabel till en ny variabel, som objekt $ a tilldelas $ b nedan, båda variablerna fortfarande hänvisa till samma region (objekt) i minnet; ingen kopia av innehållet regionen görs till en annan region.
Läs och prova följande kod: klass A {public $ var = 1; } $ A = new A; $ b = $ a; $ b-> var = 2; echo $ a-> var. "echo $ b-> var." ?> Tilldela ett objekt Hänvisning till en variabel När du tilldelar ett objekt referens till en ny variabel, eftersom & $ c tilldelas $ d nedan, resultaten är desamma som att kopiera en objektvariabel till en annan; inget innehåll minnesregion kopieras till en annan minnesområdet. Läs och prova följande kod: klass A {public $ var = 1; } $ C = new A; $ d = & $ c; $ d-> var = 2; echo $ c-> var. "echo $ d-> var.
" ?> Passerar ett objekt som ordinarie argument till en funktion när du passerar ett objekt som argument till en funktion, både parametern objektet och objektet utanför funktionen finns i samma region (objekt) i minnet. Läs och prova följande kod: klass A {public $ var = 1; } $ E = new A; echo $ e-> var. "-funktion Fn ($ obj) {$ obj-> var = 2;. Echo $ obj-> var"} fn ($ e); echo $ e-> var. ? "> Passerar ett objekt Referens När du passerar ett objekt genom hänvisning till en funktion, resultaten är desamma som passerar objektet normalt Läs och prova följande kod.
Klass A {public $ var = 1;} $ e = ny A;. echo $ e-> var "-funktion fn (& $ obj) {$ obj-> var = 2; echo $ obj-> var. "} Fn ($ e),. Echo $ e-> var"?> Låt oss stanna här för den här delen av serien och fortsätter i nästa del. Chrys att komma fram till någon av delarna i denna serie, skriv bara mot