Bug #81438 [Opn]: ReflectionEnum: Impossible to instantiate in the same way as Class

From: Date: Tue, 14 Sep 2021 20:36:03 +0000
Subject: Bug #81438 [Opn]: ReflectionEnum: Impossible to instantiate in the same way as Class
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-236604@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81438&edit=1 ID: 81438 User updated by: julien dot boudry at gmail dot com Reported by: julien dot boudry at gmail dot com -Summary: ReflectionEnum: Impossible to instantiate in the same way as Classas Class +Summary: ReflectionEnum: Impossible to instantiate in the same way as Class Status: Open Type: Bug Package: *General Issues Operating System: * PHP Version: 8.1.0RC1 Block user comment: N Private report: N New Comment: fix title Previous Comments: ------------------------------------------------------------------------ [2021-09-14 20:35:29] julien dot boudry at gmail dot com Description: ------------ This seems to be an inconsistency. The RFC does not say anything about this. The opposite of what happens to a class. Working if testEnum is declared before reflection. Test script: --------------- <?php $objClass = testObject::class; // OK $enumClass = testEnum::class; // OK new \ReflectionClass(testObject::class); // OK new \ReflectionEnum(testEnum::class); // Fatal Error // class testObject {} Enum testEnum { case TEXT; } Expected result: ---------------- No error Actual result: -------------- PHP Fatal error: Uncaught ReflectionException: Class "testEnum" does not exist in test.php:7 Stack trace: #0 test.php(7): ReflectionEnum->__construct() #1 {main} thrown in test.php on line 7 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=81438&edit=1

« previous php.bugs (#236604) next »