Edit report at https://bugs.php.net/bug.php?id=55864&edit=1

 ID:                 55864
 Comment by:         dagguh at gmail dot com
 Reported by:        dagguh at gmail dot com
 Summary:            Explicit call to default constructor
 Status:             Open
 Type:               Feature/Change Request
 Package:            Class/Object related
 Operating System:   Ubuntu 10.04.3 LTS
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

I stand by my request because of cohesion.
I often see useless code in derived classes, e.g.:

function __construct($name) {
    parent::__construct($name);
}

which does absolutely nothing and I delete this code, because php will do it 
automatically.
For the same reason I'd like to remove

function __construct() {
    ;
}

which also does absolutely nothing and php will do the same automatically 
EXCEPT 
in the case I described.

So, I stand by my request :)


Previous Comments:
------------------------------------------------------------------------
[2011-10-07 10:03:48] larue...@php.net

yes, you can instantiate a calss without a constructor be declared, but that 
doesn't mean there is default empty constructor. 

in PHP, constructor most like a magic method which will be called after a 
object instantiated immediatlely. 
 
so if there is no constructor for a class, the new operator still can 
instantiate a class. but you can't call a no-exists constructor directly :)

------------------------------------------------------------------------
[2011-10-07 09:55:01] dagguh at gmail dot com

Well you can call:

$base = new Base();

which works, because php uses default, empty constructor.
If new operator can call it, why derived classes can't?

------------------------------------------------------------------------
[2011-10-07 09:41:18] larue...@php.net

Actually, there is no `default constructor` in PHP, you should decalare one be 
fore you call to it. 
I think this should be mark as a feature request.

------------------------------------------------------------------------
[2011-10-07 09:25:40] dagguh at gmail dot com

Fixed version and OS

------------------------------------------------------------------------
[2011-10-07 09:24:50] dagguh at gmail dot com

PS. Actually my PHP version is 5.3.5

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


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=55864


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

Reply via email to