#24637 [Fbk->Opn]: __destruct not called

From: Date: Tue, 22 Jul 2003 17:47:59 +0000
Subject: #24637 [Fbk->Opn]: __destruct not called
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-44528@lists.php.net to get a copy of this message
 ID:              24637
 User updated by: Bertrand dot Willm at laposte dot net
 Reported By:     Bertrand dot Willm at laposte dot net
-Status:          Feedback
+Status:          Open
 Bug Type:        Class/Object related
 PHP Version:     5.0.0b1 (beta1)
 New Comment:

On PHP 5.0.0b2-dev (cgi-fcgi) (built: Jul 14 2003 20:08:40)
there is no -r option.
I try this:
php -n
and on the standard input:
<? class t { function __destruct() { echo "Bla\n";} } $o= new t; ?>
This should be equivalent. It works.
What does not work is the following:
php -n -r '<? class t { function __destruct() { echo "Bla\n";} } class
u extends t {} $o= new u; ?>'
As there is no -r on my php I enterred this:
php -n
and in the standard input:
<? class t { function __destruct() { echo "Bla\n";} } class u extends t
{} $o= new u; ?>
This does not work.


Previous Comments:
------------------------------------------------------------------------

[2003-07-16 02:52:32] helly@php.net

Try this simple CLI command:
php -n -r 'class t { function __destruct() { echo "Bla\n";} } $o= new
t;'

For me it outputs Bla what means the destructor is called during
shutdown. However it is possible that one of my pending patches causes
the correct behavior. Please verify again.

------------------------------------------------------------------------

[2003-07-16 01:04:22] Bertrand dot Willm at laposte dot net

I did not see any difference with this new release.

------------------------------------------------------------------------

[2003-07-14 15:29:40] helly@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------

[2003-07-14 15:24:40] Bertrand dot Willm at laposte dot net

I probably make an error entering the bug.
What should be read is:

Actual result:
--------------
Creation of ExtObject
ExtObject->CBaseClass::__construct()
End of script

Expected result:
----------------
Creation of ExtObject
ExtObject->CBaseClass::__construct()
End of script
ExtObject->CBaseClass::__destruct()

------------------------------------------------------------------------

[2003-07-14 14:20:04] helly@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php

The instance is destructed of course after script termination if the
script doesn't destroy it itself. And when a derived class has no
specialized destructor then of course the inherited destructor is to be
called.

------------------------------------------------------------------------

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
    http://bugs.php.net/24637

-- 
Edit this bug report at http://bugs.php.net/?id=24637&edit=1



Thread (9 messages)

« previous php.bugs (#44528) next »