Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

php8.2 compat: allow dynamic props in Zend_Form, Zend_Form_Element and Zend_View_Abstract #180

Merged
merged 1 commit into from
Jan 4, 2024

Conversation

falkenhawk
Copy link
Member

@falkenhawk falkenhawk commented Jan 3, 2024

followup to #170

It looks like it's safe to use the #[AllowDynamicProperties] attribute, and it should still be valid for php 9.0 and not throw an error, contrary to what I understood at first.

As per RFC:
https://wiki.php.net/rfc/deprecate_dynamic_properties#proposal "The creation of dynamic properties on classes that aren't marked with the #[AllowDynamicProperties] attribute is deprecated in PHP 8.2 and becomes an Error exception in PHP 9.0."

Related issues from zf1-future where they went with refactoring those classes to use a defined property to store all previously dynamic props in an array, which introduced breaking changes:
Shardj/zf1-future#307 (comment)
Shardj/zf1-future#261
Shardj/zf1-future#268
Shardj/zf1-future#328
Shardj/zf1-future#329

It looks like it's safe to use the `#[AllowDynamicProperties]` attribute, and it should still be valid for php 9.0 and not throw an error, contrary to what I understood at first.

As per RFC:
https://wiki.php.net/rfc/deprecate_dynamic_properties#proposal
"The creation of dynamic properties on classes that aren't marked with the #[AllowDynamicProperties] attribute is deprecated in PHP 8.2 and becomes an Error exception in PHP 9.0."

Related issues from zf1-future where they went with refactoring those classes to use a defined property to store all previously dynamic props in an array, which introduced breaking changes:
Shardj/zf1-future#307 (comment)
Shardj/zf1-future#261
Shardj/zf1-future#268
Shardj/zf1-future#328
Shardj/zf1-future#329
@falkenhawk falkenhawk marked this pull request as ready for review January 3, 2024 12:43
@falkenhawk falkenhawk deleted the branch php82 January 4, 2024 12:03
@falkenhawk falkenhawk closed this Jan 4, 2024
@falkenhawk falkenhawk reopened this Jan 4, 2024
@falkenhawk falkenhawk changed the base branch from php82-missing-props to php82 January 4, 2024 12:04
@falkenhawk falkenhawk merged commit 237936e into php82 Jan 4, 2024
24 checks passed
@falkenhawk falkenhawk mentioned this pull request Jan 4, 2024
@falkenhawk falkenhawk deleted the php82-allow-dynamic-props branch January 4, 2024 12:36
@falkenhawk falkenhawk mentioned this pull request Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant