Re: Reassigning variable to new object destroys old one?
- From: ZeldorBlat <zeldorblat@xxxxxxxxx>
- Date: 30 Apr 2007 10:44:49 -0700
On Apr 30, 12:40 pm, Toby A Inkster <usenet200...@xxxxxxxxxxxxxxxxx>
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.
.
- References:
- Reassigning variable to new object destroys old one?
- From: woger151
- Re: Reassigning variable to new object destroys old one?
- From: ZeldorBlat
- Re: Reassigning variable to new object destroys old one?
- From: Toby A Inkster
- Reassigning variable to new object destroys old one?
- Prev by Date: Re: Programming PHP offline
- Next by Date: Re: Tool to validate HTML code with PHP tags?
- Previous by thread: Re: Reassigning variable to new object destroys old one?
- Next by thread: Re: Reassigning variable to new object destroys old one?
- Index(es):
Relevant Pages
|