You are here: Re: Reassigning variable to new object destroys old one? « PHP Programming Language « IT news, forums, messages
Re: Reassigning variable to new object destroys old one?

Posted by ZeldorBlat on 04/30/07 17:44

On Apr 30, 12:40 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote:
> ZeldorBlat wrote:
> > The object is automatically destroyed when nothing is referencing it.
> > When you assign the second instance to $x, there is nothing left
> > referencing the first instance.
>
> This isn't strictly true. There may still be other references to the
> object floating about.
>
> class Foo
> {
> public static $primary_instance = NULL;
> public $val;
>
> public function __construct ($n)
> {
> if (!isset(self::$primary_instance))
> self::$primary_instance = $this;
> $this->val = $n;
> }
>
> public function carp ()
> {
> echo $this->val . "\n";
> }
>
> }
>
> $x = new Foo(123); // First Foo object
>
> $x = new Foo(456); // Replacement Foo object
> $x->carp();
>
> // But the first one is still hanging around
> // because another reference to it exists.
> Foo::$primary_instance->carp();
>
> --
> Toby A Inkster BSc (Hons) ARCShttp://tobyinkster.co.uk/
> Geek of ~ HTML/SQL/Perl/PHP/Python/Apache/Linux

Right -- so, like I said, the object is destroyed when nothing is
referencing it.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация