[PHP-DEV] [VOTE] Add BackedEnum::values()

Hi internals,

This starts the voting phase for the RFC “Add BackedEnum::values()”.

RFC: https://wiki.php.net/rfc/add_values_method_to_backed_enum
Discussion thread: https://externals.io/message/129186
Implementation PR: https://github.com/php/php-src/pull/20398

The proposal adds BackedEnum::values() returning a 0-based indexed array of backing values (int|string) in declaration order.

Voting is open until: 2026-02-08 00:00:00 UTC.

Thanks,
Mikhail Savin

On 18 January 2026 07:31:26 GMT, Mikhail Savin <mikhail.d.savin@gmail.com> wrote:

Hi internals,

This starts the voting phase for the RFC “Add BackedEnum::values()”.

RFC: PHP: rfc:add_values_method_to_backed_enum

The voting doesn't allow "Abstain", which is now required.

cheers
Derick

Hi Mikhail,

On 1/18/26 08:31, Mikhail Savin wrote:

This starts the voting phase for the RFC “Add BackedEnum::values()”.

The start of the vote is very surprising to me. I did not feel that a 12 email-discussion was sufficient to properly evaluate a long-term plan that stretches until PHP 9.0.

It is also in violation of the policy, which requires the discussion to be recent (the last email in the discussion thread is from 53 days ago, which requires a 7 day cooldown after a restart of the discussion) and also an last call “Intent to Vote” announcement (at least 2 days before the vote) to make sure that the RFC is fresh in the minds of the voters:

I'm also noticing that you made a number of significant changes (including increasing the version number) to the RFC text just today which folks did not yet have the chance to review and discuss before the vote:

… all while there still are “Open Issues” listed in the RFC. These should be resolved before the vote.

I therefore request the vote to be canceled for now and discussion restarted based on the updated version 1.2 of the RFC.

Best regards
Tim Düsterhus

вс, 18 янв. 2026 г. в 13:58, Derick Rethans <derick@php.net>:

On 18 January 2026 07:31:26 GMT, Mikhail Savin <mikhail.d.savin@gmail.com> wrote:

Hi internals,

This starts the voting phase for the RFC “Add BackedEnum::values()”.

RFC: https://wiki.php.net/rfc/add_values_method_to_backed_enum

The voting doesn’t allow “Abstain”, which is now required.

cheers
Derick

Thank you, Derick, fixed it

вс, 18 янв. 2026 г. в 14:08, Tim Düsterhus <tim@bastelstu.be>:

Hi Mikhail,

On 1/18/26 08:31, Mikhail Savin wrote:

This starts the voting phase for the RFC “Add BackedEnum::values()”.

The start of the vote is very surprising to me. I did not feel that a 12
email-discussion was sufficient to properly evaluate a long-term plan
that stretches until PHP 9.0.

It is also in violation of the policy, which requires the discussion to
be recent (the last email in the discussion thread is from 53 days ago,
which requires a 7 day cooldown after a restart of the discussion) and
also an last call “Intent to Vote” announcement (at least 2 days before
the vote) to make sure that the RFC is fresh in the minds of the voters:

https://github.com/php/policies/blob/main/feature-proposals.rst#discussion-phase

I’m also noticing that you made a number of significant changes
(including increasing the version number) to the RFC text just today
which folks did not yet have the chance to review and discuss before the
vote:

https://wiki.php.net/rfc/add_values_method_to_backed_enum?do=diff&rev2%5B0%5D=1763285697&rev2%5B1%5D=1768720119&difftype=sidebyside

… all while there still are “Open Issues” listed in the RFC. These
should be resolved before the vote.

I therefore request the vote to be canceled for now and discussion
restarted based on the updated version 1.2 of the RFC.

Best regards
Tim Düsterhus

Hi, Tim

Thanks for the detailed feedback

I’ll close voting and continue discussion thread then

Hi

On 1/18/26 13:01, Mikhail Savin wrote:

Thanks for the detailed feedback

I'll close voting and continue discussion thread then

Thank you. I'm seeing that you updated the category in the RFC list page at PHP: rfc, but didn't actually close the vote on the RFC itself.

As per policies/feature-proposals.rst at main · php/policies · GitHub, you'll also need to update the voting title to invalidate any existing votes.

And within the discussion thread you should then send an email indicating that you updated the RFC to version 1.2 with a short summary of the changes and asking folks to participate with their opinion! After a cool-down period of 14 days and no new discussion you can then send an “Intent to Vote” and open the vote 2-7 days later.

Best regards
Tim Düsterhus