Edit report at https://bugs.php.net/bug.php?id=64007&edit=1
ID: 64007 Updated by: larue...@php.net Reported by: lisachenko dot it at gmail dot com Summary: There is an ability to create instance of Generator by hand -Status: Assigned +Status: Closed Type: Bug Package: Reflection related Operating System: Windows 7 x64 PHP Version: 5.5.0alpha2 Assigned To: laruence Block user comment: N Private report: N New Comment: Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=f7b99c481d0a943d922e99ad9afa82c45193030e Log: Fixed bug #64007 (There is an ability to create instance of Generator by hand). Previous Comments: ------------------------------------------------------------------------ [2013-01-19 09:02:42] larue...@php.net The fix for this bug has been committed. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. For Windows: http://windows.php.net/snapshots/ Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2013-01-19 09:02:23] larue...@php.net Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=f7b99c481d0a943d922e99ad9afa82c45193030e Log: Fixed bug #64007 (There is an ability to create instance of Generator by hand). ------------------------------------------------------------------------ [2013-01-17 18:21:38] ni...@php.net @laruence: Imho `new Foo($bar)` and `(new ReflectionClass('Foo'))->newInstance($bar)` should behave the same. So if the constructor throws a fatal error then the constructor invoked through reflection should also throw a fatal error. If reflection doesn't go through get_constructor then it won't work correctly if that handler is overloaded. It just works so well right now because nearly noone overrides get_constructor. ------------------------------------------------------------------------ [2013-01-17 10:40:17] larue...@php.net @nikic, after a digging, I think it's better to make a private constructor for generators. here is the reason: refelction_class->newInstance used to throw exception while the constructor is non-public.. if change to get_constructor, boom~ FATAL ERROR. ------------------------------------------------------------------------ [2013-01-17 10:07:24] larue...@php.net agree, I will make a patch ------------------------------------------------------------------------ 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=64007 -- Edit this bug report at https://bugs.php.net/bug.php?id=64007&edit=1