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