On Nov 19, 2007, at 4:29 PM, Ben Sgro (ProjectSkyLine) wrote:
Hello,

Sorry to hijack, but I started thinking about something I read
for optimization of php.

They stated, if you know your not going to make changes
to a variable, to send it to a function as reference, as to NOT
make a copy of it...

Going back to some very, very old threads on here, I though that copies were only made if the variable was changed. If the variable is not changed, I
believe php is smart enough to reference, not copy, the variable.

Cliff


Yeah... you should reread this: http://www.php.net/references -- They updated it sometime in the last year or two. It's much more clear about how references work. Here are the highlights:

"They are not like C pointers; instead, they are symbol table aliases."

"Do not use return-by-reference to increase performance, the engine is smart enough to optimize this on its own. Only return references when you have a valid technical reason to do it!"

Also, in php5 - when you assign an object:

$a = new SomeClass();
$b = $a;

$b is actually assigned by reference. Regular assignment of objects is always done by reference. If you want to make an actual copy, you have to use clone():

http://us2.php.net/manual/en/language.oop5.cloning.php


_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to