Re: Re: Strange notation to create object

From: Date: Thu, 23 Jun 2005 19:28:10 +0000
Subject: Re: Re: Strange notation to create object
References: 1 2 3 4 5  Groups: php.general 
Request: Send a blank email to php-general+get-217509@lists.php.net to get a copy of this message
* Robert Cummings <robert@interjinn.com> : > On Thu, 2005-06-23 at 13:36, Matthew Weier O'Phinney wrote: > > * Robert Cummings <robert@interjinn.com> : > > > On Thu, 2005-06-23 at 11:32, Matthew Weier O'Phinney wrote: > > > > The above notation is unnecessary when developing in PHP5, as objects in > > > > PHP5 are passed by reference by default. However, in PHP4, this was > > > > > > Not entirely, there's still a subtle difference in PHP5 between > > > assigning an object with = versus assigning with = &. > > > > Would you mind explaining the difference? I've seen nothing in the docs, > > to indicate that assigning objects with =& in PHP5 is necessary, or even > > desired. My experience with PHP5 hasn't shown this either. I'd be > > interested to know to what you refer. > > See for yourself when running the following script: > > <?php > > class a > { > } > > class b > { > } > > $aObj = new a(); > $bObj = new b(); > > $foo1 = $aObj; > $foo2 = $aObj; > $foo3 = $foo1; > $foo4 = &$foo2; > > echo "------------------\n"; > print_r( $foo1 ); > print_r( $foo2 ); > print_r( $foo3 ); > print_r( $foo4 ); > > $foo1 = $bObj; > $foo2 = $bObj; > > echo "------------------\n"; > print_r( $foo1 ); > print_r( $foo2 ); > print_r( $foo3 ); > print_r( $foo4 ); > > $foo1 = &$aObj; > ?> This doesn't demonstrate what the OP was talking about, which is initial assignment of an object using a reference operator. The results of this make perfect sense to me -- the references are passed exactly as I would expect. Let me rephrase my question to you: is there a reason to do the initial object assignment using a reference operator using PHP5? I.e., is there a good reason to do this: $foo =& new Foo(); instead of: $foo = new Foo(); I haven't seen any reason to do the former case using PHP5. -- Matthew Weier O'Phinney | WEBSITES: Webmaster and IT Specialist | http://www.garden.org National Gardening Association | http://www.kidsgardening.com 802-863-5251 x156 | http://nationalgardenmonth.org mailto:matthew@garden.org | http://vermontbotanical.org

« previous php.general (#217509) next »