Hi Stas,

On Sun, Jan 11, 2015 at 9:34 AM, Stanislav Malyshev <smalys...@gmail.com>
wrote:

> I'd like to initiate a vote on this RFC:
> https://wiki.php.net/rfc/default_ctor
>
> TLDR: this RFC would make a call to parent::__construct() succeed (as in
> "not produce a fatal error") even if the parent class does not define a
> ctor. Same for __destruct and __clone. The motivation for it is in the
> RFC and here:
> https://php100.wordpress.com/2014/11/04/default-constructors/
>
> I've chosen the simplest way of implementing it, as suggested by Dmitry,
> in https://github.com/php/php-src/pull/990. There are other
> alternatives, but I think the simpler the better.
>
> Previous discussion is at: http://marc.info/?t=141630266000001&r=2&w=2
>

Nice RFC. It covers __clone(), __destruct() also.
This would be great for rapid prototyping.

Small comment to the patch.

+ (strcasecmp(Z_STRVAL_P(function_name), ZEND_DESTRUCTOR_FUNC_NAME) == 0 ||
+ strcasecmp(Z_STRVAL_P(function_name), ZEND_CONSTRUCTOR_FUNC_NAME) == 0 ||
+ strcasecmp(Z_STRVAL_P(function_name), ZEND_CLONE_FUNC_NAME) == 0)) {

The comparison order would be better

+ (strcasecmp(Z_STRVAL_P(function_name), ZEND_CONSTRUCTOR_FUNC_NAME) == 0 ||
+ strcasecmp(Z_STRVAL_P(function_name), ZEND_CLONE_FUNC_NAME) == 0 ||
+ strcasecmp(Z_STRVAL_P(function_name), ZEND_DESTRUCTOR_FUNC_NAME) == 0)) {

I suppose default constructor is used most, then clone, destructor. It
depends on a script, though.

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

Reply via email to