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