Skip to content

ensure php 8.3-8.5 compatibility#3

Merged
falkenhawk merged 1 commit intomasterfrom
php85-compat
Apr 1, 2026
Merged

ensure php 8.3-8.5 compatibility#3
falkenhawk merged 1 commit intomasterfrom
php85-compat

Conversation

@falkenhawk
Copy link
Copy Markdown
Member

implicit nullable parameter deprecation (php 8.4)

removes type hints from parameters with = NULL defaults to avoid the
php 8.4 deprecation, while keeping php 5.3 compatibility.
Same approach as used in zf1s/phpunit - drop the type hint, rely on
existing null handling in the method body.

affected: IDatabaseConnection::createDataSet(), DefaultDatabaseConnection::createDataSet(),
DataSet::buildTableSelect()

dynamic property creation (php 8.2+)

Context::setModeArguments() and getModeArguments() were using $this->mode_arguments
(snake_case) while the declared property is $modeArguments (camelCase) -
a latent bug causing dynamic property creation.

CI

adds php 8.3, 8.4, 8.5 to the test matrix.

- fix implicit nullable parameter deprecation (php 8.4) by removing
  type hints from parameters with null defaults, keeping php 5.3 compat
- fix dynamic property creation in Context (php 8.2+) -
  $mode_arguments was never matching the declared $modeArguments property
- add php 8.3, 8.4, 8.5 to CI test matrix
@falkenhawk falkenhawk merged commit bc1e962 into master Apr 1, 2026
15 checks passed
@falkenhawk falkenhawk deleted the php85-compat branch April 2, 2026 11:40
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