Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124981 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 18AE31A00B7 for ; Fri, 16 Aug 2024 15:44:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1723823149; bh=P3r5Sxs582/blb8rSOF/mITOWr2GZVkUqmORaBMmpj0=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=FU+W5gS8aZ+8TZIWSDmu8z55SNmBGvrfwd7TaFbBwlPfbZGL9nhf34slnu1wJpU79 vdunQhEfqAZJZv4kA9bAYnifajsNamdT3wBuMYXbCa26nyQRTE4S3UCsbaWhymqaVH I6pAwxLXj1qTOn1MUTqlnXAL2s/1EVb+Rb2mMn7H1FKqYtkoL2jJU0JvUFh0uGTbGZ lR4i/X5APkNDppDHdWacdMvyfp7/J3hwOhPpwC9rJU8xEDPqtRVLRwV9sAghG4XV1b 2nx4be3f/9kUiIwmQ8+QYnCNVNQDYiubtoiOnE3pnf6c5OlxzNJzKlxPrObzxa6QbW DsXdk/vk6nJ/A== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 5E2051801E4 for ; Fri, 16 Aug 2024 15:45:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 16 Aug 2024 15:45:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1723823039; x=1724427839; i=cmbecker69@gmx.de; bh=PwVoQmFHvfS/SoQtMHPGFillsKAZqwU1/td2Bo45CX4=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=A4JhnzZeqG2DfGXH/h/EnjjQkiUGzqa6gxVx2bWVVWfQCR4eIWz+kgrY3yk8pEh4 vQsF7kVF2eJTOMFpB+oiHLy3KQ6Hp55SuZZjJcAYc8SNnhkRdTKGKA61+CUnjnQHH YN0cR8APtJbEnj59A5vN5V7X7BgdMNoVMQNyOzes4hJfVBlp4BhB0BtiJleXjiv9z ZOamx7XzUlCbD9LiVbk9FYfa1t4RGmtWrflDqdu74z6mOHzFLQf5yx/DebRuSc0EY lDClwZ6mVLkKuxyMsmMPrjyOv8AAGk1sDWNY1nFrhiGyfGHuvo4xJygJmFG1Jjhqt lPGIOhNgr+uYa722og== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.2.130] ([79.251.205.37]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M1Ycr-1sbxuW0HaF-005STd; Fri, 16 Aug 2024 17:43:59 +0200 Message-ID: <6b87792b-607a-45db-bace-7175ef659024@gmx.de> Date: Fri, 16 Aug 2024 17:43:59 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Should there be a `get_declared_enums()` function ? Content-Language: de-DE To: Nicolas Grekas Cc: Juliette Reinders Folmer , PHP internals References: <66BD5F05.8010409@adviesenzo.nl> <8dc51539-20bb-4017-b859-76066e2287e5@gmx.de> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:gDuC/Fj4tSoVRplobTFVkwKM5D2YW6SigA/CUiR4gNtooq+YXtI O1Gi+C3yWbuSPVs4L4+2Ok5TfVsJkGvnKhy/i/y8cREQjf5Wqd7qwyL4EDVA3X6YoMSR02o EWYzVnQXsEGrrAYK/u1iVstaP1w2B11edUTbp7XMb1t6k8349xVtVf7tFdIXBVnjw9zd+AT zA8NAhkb89UDP23gvMHpw== UI-OutboundReport: notjunk:1;M01:P0:lvCANzPHcP4=;sgwt/xN4U+xRW3S/ifTwuqKkp5X SYkRLLAMKLO4wL2mpsoH1xEY7UEd3KTkU8ix4DK3zraruo6YUXleelZbzgCTP79VV2wYdzSyD v03TXFJ/3DJHNuN55bcygIL1TiCsOZq3kUQW/ZXgQdmVGQx6WgNqs++MvV/me8w1A8yGbC/dk Wte+OQatmc0FYhG6GQzTIc3hgyjm3ABxpulXhEcxnLVAymcPukzcegKBspH68J3OTBmC3/c8m 1sRP1lkdYX2c8sKTwIsNIrEBGOKUq0L5iYWdD5DT56R8AhQcq/UOjyyNCAvn7wxkWdzB8J5o2 zNzzdUwpg2f0eGaO7nZBzkFFrf1cVblz4vjpMatdirRASmKBpfyZwRLHMojUKZiXNV2q9sk73 bSADQldZddj+cTbSyJ3gusmo91NNpyuLMFA47rg5cGMC7stPiQqfDv6y0yBHmLAkpmMp68uz6 OR6WUAtwSRBDFUJnaPmwmRgPuXT4dz9iRY3FbDk4VNBqz+MN1p7WN31Qi/XpZtrxezur3IYI3 7ZW5iI8JySa8d0/ujd4BX9gXU6Do6Jmu+v43ITSxEe5EnvMJlopWBBt+bhHBsBt0m2hpgDymT QpYEZVdQF2UK1nWZgO0YTEVB9ql5rkwut8GWXraw9n7Ljg39i7C4ufLAF+Bt5p33WokDqxcc7 yPz1cvBnCpHFszw7/omxn4y8LKlkk9UKy6bU3u8vDQOXEchQ4jxy5uktYKj66GaTv88WYrTB3 kak8JWU6UOmi3NsqM0gO58ckrp5NfyhoNQQMynG2c5yHwYm2+gjbn1/X1mnUU5VL40v4FMah+ Wv2i1mRE44+baVRyBiqo34OQ== From: cmbecker69@gmx.de ("Christoph M. Becker") On 16.08.2024 at 17:11, Nicolas Grekas wrote: >> Should a `get_declared_enums()` function be added ? >> >> Here we go: >> >> function get_declared_enums() { >> $enums =3D []; >> $exts =3D get_loaded_extensions(false); >> foreach ($exts as $ext) { >> $re =3D new ReflectionExtension($ext); >> $classes =3D $re->getClasses(); >> foreach ($classes as $class) { >> if ($class->isEnum()) { >> $enums[] =3D $class->name; >> } >> } >> } >> return $enums; >> } > > And here is a one liner: > > function get_declared_enums() { > return array_filter(get_declared_classes(), 'enum_exists'); > } Nice! Are you suggesting that there is no need for get_declared_enums() in the core, since it can be implemented in userland with a single function call? If so, I still would argue that it makes sense to implement the function in the core for (a) consistency, and (b) performance reasons. Cheers, Christoph