|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
[PHP] Dubbio su esempio con operatore clone...help me :-/
Ciao,
mi stò studiando l'ottima guida di PHP OO di HTML.it, ho fatto la lezione che riguarda l'operatore clone. Questo è il codice: Codice:
<?php class Foo { public $foo = 10; } class A{ // PROPRIETÀ: public $a = 10; public $b = 20; public $c = 30; public $d; // E' inizialmente dichiarata senza valore specificato /* COSTRUTTORE: Quando costruisce l'oggetto istanza di Aassegna a d il * riferimento ad un nuovo oggetto istanza di Foo */ public function __construct() { $this->d = new Foo(); } } $obj1 = new A(); // Costruisce un nuovo oggetto istanza di A $obj2 = clone $obj1; // Mette in obj2 il riferimento aduna copia clonata di obj2 /* Modifica il valore della variabile foo dell'oggetto a cui si riferisce la * proprietà e dell'oggetto clonato obj2 */ $obj2->e->foo = 20; /* Stampa il valore della variabile foo dell'oggetto puntato dalla proprietà e * dell'oggetto clonato obj2 */ echo $obj2->e->foo . "<br>"; /* Stampa il valore della variabile foo dell'oggetto puntato dalla proprietà e * dell'oggetto originale obj1: è stato modificato anche l'originale */ echo $obj1->e->foo . "<br>"; ?> ![]() Spero di essere stato abbastanza chiaro nello spiegarlo...ma basta far girare questo semplice codice per capire...come mai? qualche idea? E' pari pari alla guida tra l'altro...mi sfugge qualcosa? Grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
utilizzi ->e
quando dentro il costruttore invece è ->d prova la classe A cosi : Codice PHP:
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:06.