Error Identifier: argument.namedNotSupported
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);
class Foo
{
public function doFoo(): void
{
$this->doBar(i: 1);
}
public function doBar(int $i): void
{
}
}
Why is it reported? #
Named arguments were introduced in PHP 8.0. When PHPStan is configured to analyse code for a PHP version earlier than 8.0, using named arguments in function or method calls is not valid and will cause a fatal error at runtime.
In the example above, i: 1 uses the named argument syntax to pass the value 1 to the parameter $i. This syntax is not available in PHP versions before 8.0.
How to fix it #
Use positional arguments instead of named arguments:
<?php declare(strict_types = 1);
class Foo
{
public function doFoo(): void
{
- $this->doBar(i: 1);
+ $this->doBar(1);
}
public function doBar(int $i): void
{
}
}
Or configure PHPStan to analyse the code for PHP 8.0 or later by setting the phpVersion option in the configuration file.
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\Classes\ClassAttributesRule [1]
- PHPStan\Rules\Classes\ClassConstantAttributesRule [1]
- PHPStan\Rules\Classes\InstantiationRule [1]
- PHPStan\Rules\Constants\ConstantAttributesRule [1]
- PHPStan\Rules\EnumCases\EnumCaseAttributesRule [1]
- PHPStan\Rules\Functions\ArrowFunctionAttributesRule [1]
- PHPStan\Rules\Functions\CallCallablesRule [1]
- PHPStan\Rules\Functions\CallToFunctionParametersRule [1]
- PHPStan\Rules\Functions\CallUserFuncRule [1]
- PHPStan\Rules\Functions\ClosureAttributesRule [1]
- PHPStan\Rules\Functions\FunctionAttributesRule [1]
- PHPStan\Rules\Functions\ParamAttributesRule [1]
- PHPStan\Rules\Methods\CallMethodsRule [1]
- PHPStan\Rules\Methods\CallStaticMethodsRule [1]
- PHPStan\Rules\Methods\MethodAttributesRule [1]
- PHPStan\Rules\Properties\PropertyAttributesRule [1]
- PHPStan\Rules\Properties\PropertyHookAttributesRule [1]
- PHPStan\Rules\Traits\TraitAttributesRule [1]