note 104813 added to language.references.whatdo

From: Date: Fri, 08 Jul 2011 16:35:46 +0000
Subject: note 104813 added to language.references.whatdo
Groups: php.notes 
Request: Send a blank email to php-notes+get-181360@lists.php.net to get a copy of this message
// in PHP you don't really need pointer anymore // if you want to share an object across your program class foo{ protected $name; function __construct($str){ $this->name = $str; } function __toString(){ return 'my name is "'. $this->name .'" and I live in "' . __CLASS__ . '".' . "\n"; } function setName($str){ $this->name = $str; } } class MasterOne{ protected $foo; function __construct($f){ $this->foo = $f; } function __toString(){ return 'Master: ' . __CLASS__ . ' | foo: ' . $this->foo . "\n"; } function setFooName($str){ $this->foo->setName( $str ); } } class MasterTwo{ protected $foo; function __construct($f){ $this->foo = $f; } function __toString(){ return 'Master: ' . __CLASS__ . ' | foo: ' . $this->foo . "\n"; } function setFooName($str){ $this->foo->setName( $str ); } } $bar = new foo('bar'); print("\n"); print("Only Created \$bar and printing \$bar\n"); print( $bar ); print("\n"); print("Now \$baz is referenced to \$bar and printing \$bar and \$baz\n"); $baz =& $bar; print( $bar ); print("\n"); print("Now Creating MasterOne and Two and passing \$bar to both constructors\n"); $m1 = new MasterOne( $bar ); $m2 = new MasterTwo( $bar ); print( $m1 ); print( $m2 ); print("\n"); print("Now changing value of \$bar and printing \$bar and \$baz\n"); $bar->setName('baz'); print( $bar ); print( $baz ); print("\n"); print("Now printing again MasterOne and Two\n"); print( $m1 ); print( $m2 ); print("\n"); print("Now changing MasterTwo's foo name and printing again MasterOne and Two\n"); $m2->setFooName( 'MasterTwo\'s Foo' ); print( $m1 ); print( $m2 ); print("Also printing \$bar and \$baz\n"); print( $bar ); print( $baz ); ---- Server IP: 69.147.83.197 Probable Submitter: 98.158.206.111 ---- Manual Page -- http://www.php.net/manual/en/language.references.whatdo.php Edit -- https://master.php.net/note/edit/104813 Del: integrated -- https://master.php.net/note/delete/104813/integrated Del: useless -- https://master.php.net/note/delete/104813/useless Del: bad code -- https://master.php.net/note/delete/104813/bad+code Del: spam -- https://master.php.net/note/delete/104813/spam Del: non-english -- https://master.php.net/note/delete/104813/non-english Del: in docs -- https://master.php.net/note/delete/104813/in+docs Del: other reasons-- https://master.php.net/note/delete/104813 Reject -- https://master.php.net/note/reject/104813 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#181360) next »