
Rule nullable_type_declaration_for_default_null_value
¶
Adds or removes ?
before single type declarations or |null
at the end of
union types when parameters have a default null
value.
Description¶
Rule is applied only in a PHP 7.1+ environment.
Configuration¶
use_nullable_type_declaration
¶
Warning
This option is deprecated and will be removed in the next major version. Behaviour will follow default one.
Whether to add or remove ?
or |null
to parameters with a default
null
value.
Allowed types: bool
Default value: true
Examples¶
Example #1¶
Default configuration.
--- Original
+++ New
<?php
-function sample(string $str = null)
+function sample(?string $str = null)
{}
Example #2¶
With configuration: ['use_nullable_type_declaration' => false]
.
--- Original
+++ New
<?php
-function sample(?string $str = null)
+function sample(string $str = null)
{}
Example #3¶
Default configuration.
--- Original
+++ New
<?php
-function sample(string|int $str = null)
+function sample(string|int|null $str = null)
{}
Example #4¶
With configuration: ['use_nullable_type_declaration' => false]
.
--- Original
+++ New
<?php
-function sample(string|int|null $str = null)
+function sample(string|int $str = null)
{}
Example #5¶
Default configuration.
--- Original
+++ New
<?php
-function sample(\Foo&\Bar $str = null)
+function sample((\Foo&\Bar)|null $str = null)
{}
Example #6¶
With configuration: ['use_nullable_type_declaration' => false]
.
--- Original
+++ New
<?php
-function sample((\Foo&\Bar)|null $str = null)
+function sample(\Foo&\Bar $str = null)
{}
Rule sets¶
The rule is part of the following rule sets:
References¶
Fixer class: PhpCsFixer\Fixer\FunctionNotation\NullableTypeDeclarationForDefaultNullValueFixer
Test class: PhpCsFixer\Tests\Fixer\FunctionNotation\NullableTypeDeclarationForDefaultNullValueFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.