On 19 Dec 2006 17:42:29 -0800, "seaside" <se********@mac.comwrote:
>Andy Hassall schrieb:
>On 19 Dec 2006 14:27:26 -0800, "johnny" <ra*******@gmail.comwrote:
>I have the following PHP code. I am using PHP 5.1.6.
$req =& new HTTP_Request($this->accessUrl);
I am getting the following errors:
Strict Standards: Assigning the return value of new by reference is
deprecated in c:\mysite\lib\simpleTest.php on line 80
Objects are always passed by reference in PHP 5 hence the warning of
deprecation of the effective double-reference.
Obviously if you have to support PHP 4 then you must keep the & - in which
case you need to disable E_STRICT from error_reporting.
Just for the sake of clearness: Any assignment of an object to a
variable creates a copy of the object? A shallow object, I suppose?
Assignment with "=" instead of "=&" on PHP4 creates a shallow copy of the
object.
Assignment with "=" on PHP5 does not create a copy; you use the clone keyword
for that, which by default makes a shallow copy, but you can override the
__clone() method in the object to do any deep copying or other operations if
required.
--
Andy Hassall ::
an**@andyh.co.uk ::
http://www.andyh.co.uk http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool