Hello Ard,

Saturday, March 6, 2004, 6:21:38 PM, you wrote:

> While http://www.php.net/zend-engine-2.php claims the following

>       'Like constructors, parent destructors will not be called
>       implicitly by the engine. In order to run a parent destructor,
>       one would have to explicitly call parent::__destruct() in the
>       destructor body.

> the following code

>       php -r 'abstract class A { protected function __destruct() {} }
>               class B extends A {}
>               $b = new B;'

> results in

>       Warning: Call to protected B::__destruct() from context ''
>       during shutdown ignored in Unknown on line 0

> which is inconsistent with the quoted description.
> It also introduces an asymmetry compared to constructors which I think 
> is confusing.

> Any thoughts ?

Yes your understanding and your code is wrong. In your code you explicitly
decalre that the destructor may only be called from that class's context.
Normally this results in an E_ERROR. But when it happens we only issue
an E_WARNING because the E_ERROR would restart the Rshutdown process.


-- 
Best regards,
 Marcus                            mailto:[EMAIL PROTECTED]

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to