[prev in list] [next in list] [prev in thread] [next in thread]
List: php-doc-bugs
Subject: [DOC-BUGS] Doc #36971 [Com]: unset() no longer works on $this in PHP5
From: "james at esilogix dot com" <php-bugs () lists ! php ! net>
Date: 2011-09-20 15:48:37
Message-ID: E1R62Yn-0007Ci-0b () sgrv2 ! php ! net
[Download RAW message or body]
Edit report at https://bugs.php.net/bug.php?id=36971&edit=1
ID: 36971
Comment by: james at esilogix dot com
Reported by: k at phpkoala dot com
Summary: unset() no longer works on $this in PHP5
Status: Closed
Type: Documentation Problem
Package: Documentation problem
Operating System: Linux
PHP Version: 5.1.2
Block user comment: N
Private report: N
New Comment:
I have an object Criteria. It has a method apply(). I would like to pass an object \
to apply() by reference, and if it does not satisfy the criteria, I would like \
Criteria->apply() to be able to destroy the object.
I've tried unset, I've tried object->destroy() with "unset($this)", doesn't work. I \
can set it to null, but then I have a null object in my collection, and I don't want \
that.
Previous Comments:
------------------------------------------------------------------------
[2007-08-20 12:11:42] vrana@php.net
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation better.
"It is not possible to unset $this inside an object method since PHP 5."
------------------------------------------------------------------------
[2007-07-18 13:53:56] scott at utnow dot com
This is really quite simple to understand folks...
The guy has a class that is sitting there doing it's thing.
He has a function (say it's 'DestroyMe') that should do simply that.
The best case I can imagine...
The class is 'object' and it interfaces with a row in a table in a
database.
If you're going to delete the object's row from the table, it probably
makes sense to destroy the class handling it.
function destroy() { delete row; destruct class; }
Thus it would be helpful to be able to do what he's asking.
Now whether it fits within the realm of responsible coding or not I'm
not the judge... lol
------------------------------------------------------------------------
[2007-04-07 01:10:43] edwardzyang at thewritingpot dot com
It's tough to understand what your problem is without more code. If you are doing:
for ($i = 0; $i < 1000000; $i++) {
$obj = new Foo();
// do stuff with $obj
unset($obj);
}
That should be sufficient. Could you be more specific?
Usually, if the PHP interpreter is running out of memory, you've got some bad code \
that needs refactoring.
------------------------------------------------------------------------
[2007-04-06 20:41:05] joel at propbot dot com
The problem comes into mind when your creating an object and going
through a loop. The script just grows and grows until your out of
memory.
We are creating an object doing what we need to do with it and trying
to destroy it. Anybody have a solution?
I really don't want to have to go through every variable inside the
object and do an unset().
------------------------------------------------------------------------
[2006-07-06 15:52:14] leszek@php.net
It's absurd (well, maybe not absurd, but not needed) as long as PHP has destructor \
methods.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=36971
--
Edit this bug report at https://bugs.php.net/bug.php?id=36971&edit=1
--
PHP Documentation Bugs Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic