ID: 29018
Comment by: jform at helmsdeep dot org
Reported By: none at space dot com
Status: Open
Bug Type: Documentation problem
Operating System: any
PHP Version: 4.3.6
New Comment:
above: sorry, typo:
function foo ($obj){
should obviously be
function myfunc ($obj){
i was copying...
Previous Comments:
------------------------------------------------------------------------
[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