[nycphp-talk] Why is pass-by-reference deprecated?
Ben Sgro (ProjectSkyLine)
ben at projectskyline.com
Mon Nov 19 16:17:38 EST 2007
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...
Is this really worthwhile?
func($a)
{
echo $a;
}
VS
func(& $a)
{
echo $a;
}
- Ben
----- Original Message -----
From: "Cliff Hirsch" <cliff at pinestream.com>
To: "NYPHP Talk" <talk at lists.nyphp.org>
Sent: Monday, November 19, 2007 3:01 PM
Subject: Re: [nycphp-talk] Why is pass-by-reference deprecated?
On 11/19/07 1:27 PM, "Gary Mort" <bz-gmort at beezifies.com> wrote:
> Cliff Hirsch wrote:
>> The php manual says:
>> ³In recent versions of PHP you will get a warning saying that
>> "Call-time pass-by-reference" is deprecated when you use a & in
>> foo(&$a);²
>> Why is this? Besides being ugly, difficult to understand and not very
>> elegant, is there any reason technical reason why this is deprecated?
>>
> Because if you declare it in the function:
> function foo(&$mya) {
> }
>
> Than you have told PHP that whenever this function is used, variables
> should be passed by reference and not copied.
>
> So the thinking is, you should know ahead of time whether or not you
> want to pass by reference or pass a copy, and not decide to do it at the
> time you call your code.
>
> IE, don't do:
> foo(&$a);
Ah, I got it. Pass-by-reference in the function call is what's depricated.
As in foo(&$a); (as you noted above).
Pass-by-reference in the function definition is not depricated. As in
public function Thefunction(&$varref) {
}
Still ugly and error prone compared to clean oop, but passing objects around
is sort of the same thing and infinitely more confusing.
_______________________________________________
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
More information about the talk
mailing list