Edit report at https://bugs.php.net/bug.php?id=55128&edit=1
ID: 55128 Comment by: larue...@php.net Reported by: ar at ez dot no Summary: SplFixedArray::fromArray() does not use extended class Status: Analyzed Type: Feature/Change Request Package: SPL related Operating System: * PHP Version: 5.3.6 Block user comment: N Private report: N New Comment: After much thought, I think there maybe no reason for fixedarray extended class to define it's own constructor, since we provide fixedarrary::__construct and fromArray already, and extended class should only get an instance through calling them. so I think we can make fixedarray::__construct final to make this feature works. Previous Comments: ------------------------------------------------------------------------ [2011-07-26 09:57:47] larue...@php.net The following patch has been added/updated: Patch Name: php-5-3-splfixedarray-fromarray-should-return-call-scope-instance Revision: 1311674267 URL: https://bugs.php.net/patch-display.php?bug=55128&patch=php-5-3-splfixedarray-fromarray-should-return-call-scope-instance&revision=1311674267 ------------------------------------------------------------------------ [2011-07-26 09:49:52] larue...@php.net hmm, that's a really problem, if we want to provide this feature, we should make fixedarray::__construct final. ------------------------------------------------------------------------ [2011-07-26 08:36:08] cataphr...@php.net What if FixedCollection has a constructor? ------------------------------------------------------------------------ [2011-07-26 05:35:55] larue...@php.net The following patch has been added/updated: Patch Name: php-5-3-splfixedarray-fromarray-should-return-call-scope-instance Revision: 1311658555 URL: https://bugs.php.net/patch-display.php?bug=55128&patch=php-5-3-splfixedarray-fromarray-should-return-call-scope-instance&revision=1311658555 ------------------------------------------------------------------------ [2011-07-04 09:50:10] ar at ez dot no Description: ------------ It would be nice if SplFixedArray::fromArray() returned the child class instance instead of SplFixedArray instance. Test script: --------------- class FixedCollection extends SplFixedArray { // impl } $collection = FixedCollection::fromArray( array( 22, 42 ) ); if ( 'FixedCollection' !== get_class( $collection ) ) trigger_error( "fromArray() does not use 'new static'" ) Expected result: ---------------- I would have expected that function returned an instance of FixedCollection. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55128&edit=1