Req #81474 [NEW]: Make ReflectionEnum and related class non-final
| From: | ondrej at mirtes dot cz | Date: | Fri, 24 Sep 2021 11:28:40 +0000 |
| Subject: | Req #81474 [NEW]: Make ReflectionEnum and related class non-final | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-236814@lists.php.net to get a copy of this message | ||
From: ondrej at mirtes dot cz
Operating system: N/A
PHP version: 8.1.0RC2
Package: Reflection related
Bug Type: Feature/Change Request
Bug description:Make ReflectionEnum and related class non-final
Description:
------------
Library Roave/BetterReflection
(https://github.com/Roave/BetterReflection) has a goal of providing
runtime reflection compatible API for PHP reflection classes in the
Adapter namespace:
https://github.com/Roave/BetterReflection/tree/5.0.x/src/Reflection/Adapter
This feature is prominently used by PHPStan, and maybe other open-source
users as well.
In order for BetterReflection library to be able to be used in place of
the official API via polymorphism, it needs to have the ability to
extend core reflection classes like ReflectionClass and
ReflectionMethod. It has been doing that successfully.
PHP 8.1 introduces ReflectionEnum class, and unfortunately it's final.
This change request is about making this class non-final, and also all
classes accessible through that one like ReflectionEnumPureCase,
ReflectionEnumBackedCase, and ReflectionEnumUnitCase.
--
Edit bug report at https://bugs.php.net/bug.php?id=81474&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=81474&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=81474&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=81474&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=81474&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=81474&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=81474&r=support
Expected behavior: https://bugs.php.net/fix.php?id=81474&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=81474&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=81474&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=81474&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=81474&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=81474&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=81474&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=81474&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=81474&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=81474&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=81474&r=mysqlcfg