Skip to content

Add strict type declarations and modernize codebase #343

Add strict type declarations and modernize codebase

Add strict type declarations and modernize codebase #343

Triggered via pull request March 24, 2026 20:48
Status Success
Total duration 48s
Artifacts

php.yml

on: pull_request
Matrix: PHP / Lint
Matrix: PHP / Static analysis
Matrix: PHP / Test
Fit to window
Zoom out
Zoom in

Annotations

40 errors and 12 warnings
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/Pgsql.php#L11
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/Mysql.php#L17
Binary operation "." between 'SET time_zone = ' and mixed results in an error.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/Mssql.php#L19
Parameter #2 $arrays of function array_intersect expects an array of values castable to string, array given.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L98
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L91
Parameter #1 $string of function strtolower expects string, mixed given.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L79
Parameter #1 $search of function str_replace expects array<string>|string, mixed given.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L78
Binary operation "." between string and mixed results in an error.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L78
Binary operation "." between mixed and string results in an error.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L55
Call to function is_array() with array will always evaluate to true.
PHP / Static analysis (8.3) / PHPStan 8.3: src/Adapter/BaseAdapter.php#L0
Ignored error pattern #^Method ipl\\Sql\\Adapter\\BaseAdapter\:\:getTimezoneOffset\(\) has no return type specified\.$# in path /home/runner/work/ipl-sql/ipl-sql/src/Adapter/BaseAdapter.php was not matched in reported errors.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/Pgsql.php#L11
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/Mysql.php#L17
Binary operation "." between 'SET time_zone = ' and mixed results in an error.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/Mssql.php#L19
Parameter #2 $arrays of function array_intersect expects an array of values castable to string, array given.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L98
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L91
Parameter #1 $string of function strtolower expects string, mixed given.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L79
Parameter #1 $search of function str_replace expects array<string>|string, mixed given.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L78
Binary operation "." between string and mixed results in an error.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L78
Binary operation "." between mixed and string results in an error.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L55
Call to function is_array() with array will always evaluate to true.
PHP / Static analysis (8.4) / PHPStan 8.4: src/Adapter/BaseAdapter.php#L0
Ignored error pattern #^Method ipl\\Sql\\Adapter\\BaseAdapter\:\:getTimezoneOffset\(\) has no return type specified\.$# in path /home/runner/work/ipl-sql/ipl-sql/src/Adapter/BaseAdapter.php was not matched in reported errors.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/Pgsql.php#L11
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/Mysql.php#L17
Binary operation "." between 'SET time_zone = ' and mixed results in an error.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/Mssql.php#L19
Parameter #2 $arrays of function array_intersect expects an array of values castable to string, array given.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L98
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L91
Parameter #1 $string of function strtolower expects string, mixed given.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L79
Parameter #1 $search of function str_replace expects array<string>|string, mixed given.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L78
Binary operation "." between string and mixed results in an error.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L78
Binary operation "." between mixed and string results in an error.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L55
Call to function is_array() with array will always evaluate to true.
PHP / Static analysis (8.5) / PHPStan 8.5: src/Adapter/BaseAdapter.php#L0
Ignored error pattern #^Method ipl\\Sql\\Adapter\\BaseAdapter\:\:getTimezoneOffset\(\) has no return type specified\.$# in path /home/runner/work/ipl-sql/ipl-sql/src/Adapter/BaseAdapter.php was not matched in reported errors.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/Pgsql.php#L11
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/Mysql.php#L17
Binary operation "." between 'SET time_zone = ' and mixed results in an error.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/Mssql.php#L19
Parameter #2 $arrays of function array_intersect expects an array of values castable to string, array given.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L98
Parameter #2 ...$values of function sprintf expects bool|float|int|string|null, mixed given.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L91
Parameter #1 $string of function strtolower expects string, mixed given.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L79
Parameter #1 $search of function str_replace expects array<string>|string, mixed given.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L78
Binary operation "." between string and mixed results in an error.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L78
Binary operation "." between mixed and string results in an error.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L55
Call to function is_array() with array will always evaluate to true.
PHP / Static analysis (8.2) / PHPStan 8.2: src/Adapter/BaseAdapter.php#L0
Ignored error pattern #^Method ipl\\Sql\\Adapter\\BaseAdapter\:\:getTimezoneOffset\(\) has no return type specified\.$# in path /home/runner/work/ipl-sql/ipl-sql/src/Adapter/BaseAdapter.php was not matched in reported errors.
PHP / Lint (8.3) / Linters 8.3
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Lint (8.5) / Linters 8.5
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Static analysis (8.3) / PHPStan 8.3
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Lint (8.4) / Linters 8.4
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Lint (8.2) / Linters 8.2
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Static analysis (8.4) / PHPStan 8.4
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Static analysis (8.5) / PHPStan 8.5
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Static analysis (8.2) / PHPStan 8.2
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Test (8.2) / PHPUnit 8.2
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Test (8.3) / PHPUnit 8.3
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Test (8.4) / PHPUnit 8.4
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
PHP / Test (8.5) / PHPUnit 8.5
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/