Error Identifier: parameter.variadicNotLast
Every error reported by PHPStan has an error identifier. Here’s a list of all error identifiers. In PHPStan Pro you can see the error identifier next to each error and filter errors by their identifiers.
Code example #
<?php declare(strict_types = 1);
function doFoo(string ...$names, int $count): void
{
}
Why is it reported? #
A variadic parameter (...) is not the last parameter in the function declaration. PHP requires the variadic parameter to always be the last one, because it collects all remaining arguments. Placing it before other parameters is a syntax error.
How to fix it #
Move the variadic parameter to the end of the parameter list:
-function doFoo(string ...$names, int $count): void
+function doFoo(int $count, string ...$names): void
{
}
Non-ignorable error #
This error cannot be ignored using @phpstan-ignore or the ignoreErrors configuration. Non-ignorable errors indicate code that would cause a crash or a fatal error at runtime, or a fundamental problem in the analysed code that must be addressed.
Rules that report this error #
- PHPStan\Rules\Functions\VariadicParametersDeclarationRule [1]