ID:               29018
 Updated by:       [EMAIL PROTECTED]
 Reported By:      none at space dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Documentation problem
 Operating System: any
 PHP Version:      4.3.6
 New Comment:

Possible solution:

function foo (& $var){
 if (is_null($var)){return 0};
 return(1);
}

$somevar = null;
foo($somevar);

Possible workarounds:

allow_call_time_pass_reference can be set on per directory basis.

@ can be added before function call (with side-effect of not displaying
any errors of course)

There's no other solution AFAIK.


Previous Comments:
------------------------------------------------------------------------

[2004-07-19 14:24:07] jsabre at jjsbr dot tv

I was wondering about this too... how can you deprecate this and not
tell the community what is going on? I found only very little info
about this issue out there. But meny people seem to truggle with it.

------------------------------------------------------------------------

[2004-07-07 11:57:57] jform at helmsdeep dot org

above: sorry, typo:

   function foo ($obj){

should obviously be 

   function myfunc ($obj){

i was copying...

------------------------------------------------------------------------

[2004-07-07 11:55:42] jform at helmsdeep dot org

I agree totally! We used to be able to do the following:

myfunc(& $someobj);   #and
myfunc('');           #this, if nothing passed

function foo ($obj){
  if(is_null($obj)){...};
  ...
}

At this point we have to pre-check everything and do some massive
recoding! What is an easy solution for this or waht were you thinking
when chaning this? How do I pass 'nothing' now?

------------------------------------------------------------------------

[2004-07-05 19:07:17] none at space dot com

Description:
------------
proper reference documentation missing on how to switch from 'call-time
call-by-reference' to 'call-by-reference'.


with more and more ISP's upgrading php from versions prior the
deprecated 'call-time call-by-reference' to newer versions, more and
more people get utterly frustrated searching solutions to fix their
codes or libs for the two situations below. 

especially passing 'no object' or null to a class has become critical
and there is no clear statement in the documentation of (references
explained) on what logic the guys that deprecated the the 'call-time'
functionality had in mind to compensate for that lack of
functionality.

i think it's about time you post the concept and solution of this
change somewhere prominently. 











Reproduce code:
---------------
function foo (& $var){
 if (is_null($var)){return 0};
 return(1);
}

#call now
foo($somevar);  #will work
foo('');        #will not work (how to do this properly?)
foo(1);         #will not work (obviously)



Expected result:
----------------

>1
>0
>0



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=29018&edit=1

Reply via email to