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
