From: [EMAIL PROTECTED]
Operating system: FreeBSD 4.1 RELEASE
PHP version: 4.0.4
PHP Bug Type: Class/Object related
Bug description: object reference vs. true object function passing problem
here is my script:
<?php
class Tbug {
function add($f) {
$this->stuff[] = $f;
}
function spew() {
foreach($this->stuff as $key => $f) echo "stuff is [$f]<BR>";
}
}
function & addtobug($f, &$bug) {
$bug->add($f);
return($bug);
}
// using first choice we have problems, second choice works, why the diff?
//$bug = new Tbug();
$bug = &new Tbug();
echo "call1<BR>";
$bug = &addtobug("a", &$bug);
echo "call2<BR>";
$bug = &addtobug("b", &$bug);
echo "call3<BR>";
$bug = &addtobug("c", &$bug);
$bug->spew();
?>
The "work around" is to use the second choice of assigning $bug to the reference of
the "new" Object. This does not seem inuitive to me. Why does this code not work
otherwise?
thanks,
tonys.
--
Edit Bug report at: http://bugs.php.net/?id=10293&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]