php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #43264 __destruct
Submitted: 2007-11-12 14:26 UTC Modified: 2007-11-12 17:38 UTC
From: miha dot vrhovnik at domenca dot com Assigned:
Status: Not a bug Package: Feature/Change Request
PHP Version: 5.2.5 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: miha dot vrhovnik at domenca dot com
New email:
PHP Version: OS:

 

 [2007-11-12 14:26 UTC] miha dot vrhovnik at domenca dot com
Description:
------------
PHP 5.2.4 doesn't provide default class destructor and exits with 
Fatal error: Call to undefined method base::__destruct() in /path/to/bug.php on line 23

For me coming from Delphi waters this is a bug.
If php would provide default class destructor you could write future proof code
I think that there is no need to explain what I mean with that especially after reading this in documentation:
> 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.

Reproduce code:
---------------
error_reporting(E_ALL);

$c = new extender();

class base
{
    public function __constructor()
    {
        parent::__construct();
    }
    
}

class extender extends base
{
    public function __constructor()
    {
        parent::__construct();
    }
    
    
    public function __destruct()
    {
        parent::__destruct();
    }
}


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-11-12 17:38 UTC] johannes@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

PHP is a unique language and there isn\'t even a parent class to your base class, so there\'s no class which could offer such a feature. Adding some magic won\'t fit to the engine.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC