--- Andrey Hristov <[EMAIL PROTECTED]> wrote:
> Not sure but I think that the answer is maybe on pages 8 and 9 here
> http://www.zend.com/engine2/ZendEngine-2.0.pdf
> What do you think?
No thats engine 2.. this is enginge one...
engine 2 says objects are treated as refrences..
engine one copys all objects..
besides..
$foo = new foo();
$foo->bar->set_tmp("outside foo");
$foo->variable = "foo";
$foo2 = $foo;
$foo2->bar->set_tmp("this is a bug");
$foo2->variable = "foo2"
var_dump($foo2);
var_dump($foo);
variable will be 'foo' for foo and 'foo2' for foo2
which it should be..
- Brad
>
> Andrey
> ----- Original Message -----
> From: "brad lafountain" <[EMAIL PROTECTED]>
> To: "Andrey Hristov" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Thursday, April 11, 2002 7:58 PM
> Subject: Re: [PHP-DEV] object refrences (POSSIBLE MAJOR BUG)
>
>
> >
> > --- Andrey Hristov <[EMAIL PROTECTED]> wrote:
> > > I receive this:
> > > object(foo)(1) {
> > > ["bar"]=>
> > > &object(bar)(1) {
> > > ["tmp"]=>
> > > string(23) "why does this add a ref"
> > > }
> > > }
> > >
> > > As far as I can see, there is an reference.
> >
> >
> > this is why im conserned.....
> >
> > <?
> > class foo
> > {
> > var $bar;
> > function foo()
> > {
> > $this->bar = new bar("inside foo");
> > }
> > }
> >
> > class bar
> > {
> > var $tmp;
> >
> > function bar($tmp)
> > {
> > $this->tmp = $tmp;
> > }
> >
> > function set_tmp($tmp)
> > {
> > $this->tmp = $tmp;
> > }
> > }
> >
> > $foo = new foo();
> > $foo->bar->set_tmp("outside foo");
> >
> > $foo2 = $foo;
> > $foo2->bar->set_tmp("this is a bug");
> >
> > var_dump($foo2);
> > var_dump($foo);
> > ?>
> >
> > i really think this is a pretty big bug.... and if it was coded to act
> this
> > way.. then WHY???
> >
> > - Brad
> > >
> > > Andrey
> > > ----- Original Message -----
> > > From: "brad lafountain" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Thursday, April 11, 2002 7:37 PM
> > > Subject: [PHP-DEV] object refrences (POSSIBLE MAJOR BUG)
> > >
> > >
> > > > After a full day of looking into a bug on a script i have i found this
> > > problem.
> > > >
> > > > basically if you invoke a method from a member object it adds a ref
> instead
> > > of
> > > > keeping it 'non ref'.
> > > >
> > > > Is this by design or is it a bug.
> > > >
> > > > <?
> > > > class foo
> > > > {
> > > > var $bar;
> > > > function foo()
> > > > {
> > > > $this->bar = new bar("inside foo");
> > > > $this->bar->set_tmp("why does this add a ref");
> > > >
> > > > /*
> > > > // this works fine
> > > > $bar = new bar("inside foo");
> > > > $bar->set_tmp("no ref");
> > > > $this->bar = $bar;
> > > > */
> > > >
> > > > /*
> > > > file://this doesn't work
> > > > $bar = new bar("inside foo");
> > > > $this->bar = $bar;
> > > > $this->bar->set_tmp("why does this add a ref");
> > > > */
> > > > }
> > > > }
> > > >
> > > > class bar
> > > > {
> > > > var $tmp;
> > > >
> > > > function bar($tmp)
> > > > {
> > > > $this->tmp = $tmp;
> > > > }
> > > >
> > > > function set_tmp($tmp)
> > > > {
> > > > $this->tmp = $tmp;
> > > > }
> > > > }
> > > >
> > > > var_dump(new foo());
> > > >
> > > > ?>
> > > >
> > > > - Brad
> > > >
> > > >
> > > > __________________________________________________
> > > > Do You Yahoo!?
> > > > Yahoo! Tax Center - online filing with TurboTax
> > > > http://taxes.yahoo.com/
> > > >
> > > > --
> > > > PHP Development Mailing List <http://www.php.net/>
> > > > To unsubscribe, visit: http://www.php.net/unsub.php
> > > >
> > > >
> > >
> > >
> > > --
> > > PHP Development Mailing List <http://www.php.net/>
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Tax Center - online filing with TurboTax
> > http://taxes.yahoo.com/
> >
> > --
> > PHP Development Mailing List <http://www.php.net/>
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>
__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php