diff --git a/build/target-repository/docs/rector_rules_overview.md b/build/target-repository/docs/rector_rules_overview.md
deleted file mode 100644
index 71a923d14be..00000000000
--- a/build/target-repository/docs/rector_rules_overview.md
+++ /dev/null
@@ -1,7690 +0,0 @@
-# 382 Rules Overview
-
-**This overview is deprecated and replaced by more advanced web search. There you can search and filter by nodes, copy-paste configs for configurable rules and more.**
-
-Use https://getrector.com/find-rule instead!
-
-
-
-## Categories
-
-- [Arguments](#arguments) (4)
-
-- [Carbon](#carbon) (4)
-
-- [CodeQuality](#codequality) (69)
-
-- [CodingStyle](#codingstyle) (29)
-
-- [DeadCode](#deadcode) (45)
-
-- [EarlyReturn](#earlyreturn) (8)
-
-- [Instanceof](#instanceof) (1)
-
-- [Naming](#naming) (6)
-
-- [Php52](#php52) (2)
-
-- [Php53](#php53) (3)
-
-- [Php54](#php54) (3)
-
-- [Php55](#php55) (6)
-
-- [Php56](#php56) (1)
-
-- [Php70](#php70) (19)
-
-- [Php71](#php71) (7)
-
-- [Php72](#php72) (9)
-
-- [Php73](#php73) (9)
-
-- [Php74](#php74) (14)
-
-- [Php80](#php80) (16)
-
-- [Php81](#php81) (8)
-
-- [Php82](#php82) (5)
-
-- [Php83](#php83) (3)
-
-- [Php84](#php84) (1)
-
-- [Privatization](#privatization) (4)
-
-- [Removing](#removing) (5)
-
-- [Renaming](#renaming) (11)
-
-- [Strict](#strict) (5)
-
-- [Transform](#transform) (25)
-
-- [TypeDeclaration](#typedeclaration) (57)
-
-- [Visibility](#visibility) (3)
-
-
-
-## Arguments
-
-### ArgumentAdderRector
-
-This Rector adds new default arguments in calls of defined methods and class types.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Arguments\Rector\ClassMethod\ArgumentAdderRector`](../rules/Arguments/Rector/ClassMethod/ArgumentAdderRector.php)
-
-```diff
- $someObject = new SomeExampleClass;
--$someObject->someMethod();
-+$someObject->someMethod(true);
-
- class MyCustomClass extends SomeExampleClass
- {
-- public function someMethod()
-+ public function someMethod($value = true)
- {
- }
- }
-```
-
-
-
-### FunctionArgumentDefaultValueReplacerRector
-
-Streamline the operator arguments of version_compare function
-
-:wrench: **configure it!**
-
-- class: [`Rector\Arguments\Rector\FuncCall\FunctionArgumentDefaultValueReplacerRector`](../rules/Arguments/Rector/FuncCall/FunctionArgumentDefaultValueReplacerRector.php)
-
-```diff
--version_compare(PHP_VERSION, '5.6', 'gte');
-+version_compare(PHP_VERSION, '5.6', 'ge');
-```
-
-
-
-### RemoveMethodCallParamRector
-
-Remove parameter of method call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Arguments\Rector\MethodCall\RemoveMethodCallParamRector`](../rules/Arguments/Rector/MethodCall/RemoveMethodCallParamRector.php)
-
-```diff
- final class SomeClass
- {
- public function run(Caller $caller)
- {
-- $caller->process(1, 2);
-+ $caller->process(1);
- }
- }
-```
-
-
-
-### ReplaceArgumentDefaultValueRector
-
-Replaces defined map of arguments in defined methods and their calls.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Arguments\Rector\ClassMethod\ReplaceArgumentDefaultValueRector`](../rules/Arguments/Rector/ClassMethod/ReplaceArgumentDefaultValueRector.php)
-
-```diff
- $someObject = new SomeClass;
--$someObject->someMethod(SomeClass::OLD_CONSTANT);
-+$someObject->someMethod(false);
-```
-
-
-
-## Carbon
-
-### DateFuncCallToCarbonRector
-
-Convert `date()` function call to `Carbon::now()->format(*)`
-
-- class: [`Rector\Carbon\Rector\FuncCall\DateFuncCallToCarbonRector`](../rules/Carbon/Rector/FuncCall/DateFuncCallToCarbonRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $date = date('Y-m-d');
-+ $date = \Carbon\Carbon::now()->format('Y-m-d');
- }
- }
-```
-
-
-
-### DateTimeInstanceToCarbonRector
-
-Convert new `DateTime()` to Carbon::*()
-
-- class: [`Rector\Carbon\Rector\New_\DateTimeInstanceToCarbonRector`](../rules/Carbon/Rector/New_/DateTimeInstanceToCarbonRector.php)
-
-```diff
--$date = new \DateTime('today');
-+$date = \Carbon\Carbon::today();
-```
-
-
-
-### DateTimeMethodCallToCarbonRector
-
-Convert new `DateTime()` with a method call to Carbon::*()
-
-- class: [`Rector\Carbon\Rector\MethodCall\DateTimeMethodCallToCarbonRector`](../rules/Carbon/Rector/MethodCall/DateTimeMethodCallToCarbonRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $date = (new \DateTime('today +20 day'))->format('Y-m-d');
-+ $date = \Carbon\Carbon::today()->addDays(20)->format('Y-m-d')
- }
- }
-```
-
-
-
-### TimeFuncCallToCarbonRector
-
-Convert `time()` function call to `Carbon::now()->timestamp`
-
-- class: [`Rector\Carbon\Rector\FuncCall\TimeFuncCallToCarbonRector`](../rules/Carbon/Rector/FuncCall/TimeFuncCallToCarbonRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $time = time();
-+ $time = \Carbon\Carbon::now()->timestamp;
- }
- }
-```
-
-
-
-## CodeQuality
-
-### AbsolutizeRequireAndIncludePathRector
-
-include/require to absolute path. This Rector might introduce backwards incompatible code, when the include/require being changed depends on the current working directory.
-
-- class: [`Rector\CodeQuality\Rector\Include_\AbsolutizeRequireAndIncludePathRector`](../rules/CodeQuality/Rector/Include_/AbsolutizeRequireAndIncludePathRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- require 'autoload.php';
-+ require __DIR__ . '/autoload.php';
-
- require $variable;
- }
- }
-```
-
-
-
-### AndAssignsToSeparateLinesRector
-
-Split 2 assigns ands to separate line
-
-- class: [`Rector\CodeQuality\Rector\LogicalAnd\AndAssignsToSeparateLinesRector`](../rules/CodeQuality/Rector/LogicalAnd/AndAssignsToSeparateLinesRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $tokens = [];
-- $token = 4 and $tokens[] = $token;
-+ $token = 4;
-+ $tokens[] = $token;
- }
- }
-```
-
-
-
-### ArrayKeyExistsTernaryThenValueToCoalescingRector
-
-Change `array_key_exists()` ternary to coalescing
-
-- class: [`Rector\CodeQuality\Rector\Ternary\ArrayKeyExistsTernaryThenValueToCoalescingRector`](../rules/CodeQuality/Rector/Ternary/ArrayKeyExistsTernaryThenValueToCoalescingRector.php)
-
-```diff
- class SomeClass
- {
- public function run($values, $keyToMatch)
- {
-- $result = array_key_exists($keyToMatch, $values) ? $values[$keyToMatch] : null;
-+ $result = $values[$keyToMatch] ?? null;
- }
- }
-```
-
-
-
-### ArrayMergeOfNonArraysToSimpleArrayRector
-
-Change array_merge of non arrays to array directly
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\ArrayMergeOfNonArraysToSimpleArrayRector`](../rules/CodeQuality/Rector/FuncCall/ArrayMergeOfNonArraysToSimpleArrayRector.php)
-
-```diff
- class SomeClass
- {
- public function go()
- {
- $value = 5;
- $value2 = 10;
-
-- return array_merge([$value], [$value2]);
-+ return [$value, $value2];
- }
- }
-```
-
-
-
-### BooleanNotIdenticalToNotIdenticalRector
-
-Negated identical boolean compare to not identical compare (does not apply to non-bool values)
-
-- class: [`Rector\CodeQuality\Rector\Identical\BooleanNotIdenticalToNotIdenticalRector`](../rules/CodeQuality/Rector/Identical/BooleanNotIdenticalToNotIdenticalRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $a = true;
- $b = false;
-
-- var_dump(! $a === $b); // true
-- var_dump(! ($a === $b)); // true
-+ var_dump($a !== $b); // true
-+ var_dump($a !== $b); // true
- var_dump($a !== $b); // true
- }
- }
-```
-
-
-
-### CallUserFuncWithArrowFunctionToInlineRector
-
-Refactor `call_user_func()` with arrow function to direct call
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\CallUserFuncWithArrowFunctionToInlineRector`](../rules/CodeQuality/Rector/FuncCall/CallUserFuncWithArrowFunctionToInlineRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
-- $result = \call_user_func(fn () => 100);
-+ $result = 100;
- }
- }
-```
-
-
-
-### ChangeArrayPushToArrayAssignRector
-
-Change `array_push()` to direct variable assign
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\ChangeArrayPushToArrayAssignRector`](../rules/CodeQuality/Rector/FuncCall/ChangeArrayPushToArrayAssignRector.php)
-
-```diff
- $items = [];
--array_push($items, $item);
-+$items[] = $item;
-```
-
-
-
-### CleanupUnneededNullsafeOperatorRector
-
-Cleanup unneeded nullsafe operator
-
-- class: [`Rector\CodeQuality\Rector\NullsafeMethodCall\CleanupUnneededNullsafeOperatorRector`](../rules/CodeQuality/Rector/NullsafeMethodCall/CleanupUnneededNullsafeOperatorRector.php)
-
-```diff
- class HelloWorld {
- public function getString(): string
- {
- return 'hello world';
- }
- }
-
- function get(): HelloWorld
- {
- return new HelloWorld();
- }
-
--echo get()?->getString();
-+echo get()->getString();
-```
-
-
-
-### CombineIfRector
-
-Merges nested if statements
-
-- class: [`Rector\CodeQuality\Rector\If_\CombineIfRector`](../rules/CodeQuality/Rector/If_/CombineIfRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if ($cond1) {
-- if ($cond2) {
-- return 'foo';
-- }
-+ if ($cond1 && $cond2) {
-+ return 'foo';
- }
- }
- }
-```
-
-
-
-### CombinedAssignRector
-
-Simplify `$value` = `$value` + 5; assignments to shorter ones
-
-- class: [`Rector\CodeQuality\Rector\Assign\CombinedAssignRector`](../rules/CodeQuality/Rector/Assign/CombinedAssignRector.php)
-
-```diff
--$value = $value + 5;
-+$value += 5;
-```
-
-
-
-### CommonNotEqualRector
-
-Use common != instead of less known <> with same meaning
-
-- class: [`Rector\CodeQuality\Rector\NotEqual\CommonNotEqualRector`](../rules/CodeQuality/Rector/NotEqual/CommonNotEqualRector.php)
-
-```diff
- final class SomeClass
- {
- public function run($one, $two)
- {
-- return $one <> $two;
-+ return $one != $two;
- }
- }
-```
-
-
-
-### CompactToVariablesRector
-
-Change `compact()` call to own array
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\CompactToVariablesRector`](../rules/CodeQuality/Rector/FuncCall/CompactToVariablesRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $checkout = 'one';
- $form = 'two';
-
-- return compact('checkout', 'form');
-+ return ['checkout' => $checkout, 'form' => $form];
- }
- }
-```
-
-
-
-### CompleteDynamicPropertiesRector
-
-Add missing dynamic properties
-
-- class: [`Rector\CodeQuality\Rector\Class_\CompleteDynamicPropertiesRector`](../rules/CodeQuality/Rector/Class_/CompleteDynamicPropertiesRector.php)
-
-```diff
- class SomeClass
- {
-+ /**
-+ * @var int
-+ */
-+ public $value;
-+
- public function set()
- {
- $this->value = 5;
- }
- }
-```
-
-
-
-### CompleteMissingIfElseBracketRector
-
-Complete missing if/else brackets
-
-- class: [`Rector\CodeQuality\Rector\If_\CompleteMissingIfElseBracketRector`](../rules/CodeQuality/Rector/If_/CompleteMissingIfElseBracketRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
-- if ($value)
-+ if ($value) {
- return 1;
-+ }
- }
- }
-```
-
-
-
-### ConsecutiveNullCompareReturnsToNullCoalesceQueueRector
-
-Change multiple null compares to ?? queue
-
-- class: [`Rector\CodeQuality\Rector\If_\ConsecutiveNullCompareReturnsToNullCoalesceQueueRector`](../rules/CodeQuality/Rector/If_/ConsecutiveNullCompareReturnsToNullCoalesceQueueRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if ($this->orderItem !== null) {
-- return $this->orderItem;
-- }
--
-- if ($this->orderItemUnit !== null) {
-- return $this->orderItemUnit;
-- }
--
-- return null;
-+ return $this->orderItem ?? $this->orderItemUnit;
- }
- }
-```
-
-
-
-### ConvertStaticPrivateConstantToSelfRector
-
-Replaces static::* access to private constants with self::*
-
-- class: [`Rector\CodeQuality\Rector\ClassConstFetch\ConvertStaticPrivateConstantToSelfRector`](../rules/CodeQuality/Rector/ClassConstFetch/ConvertStaticPrivateConstantToSelfRector.php)
-
-```diff
- final class Foo
- {
- private const BAR = 'bar';
-
- public function run()
- {
-- $bar = static::BAR;
-+ $bar = self::BAR;
- }
- }
-```
-
-
-
-### ExplicitBoolCompareRector
-
-Make if conditions more explicit
-
-- class: [`Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector`](../rules/CodeQuality/Rector/If_/ExplicitBoolCompareRector.php)
-
-```diff
- final class SomeController
- {
- public function run($items)
- {
-- if (!count($items)) {
-+ if (count($items) === 0) {
- return 'no items';
- }
- }
- }
-```
-
-
-
-### ExplicitReturnNullRector
-
-Add explicit return null to method/function that returns a value, but missed main return
-
-- class: [`Rector\CodeQuality\Rector\ClassMethod\ExplicitReturnNullRector`](../rules/CodeQuality/Rector/ClassMethod/ExplicitReturnNullRector.php)
-
-```diff
- class SomeClass
- {
- /**
-- * @return string|void
-+ * @return string|null
- */
- public function run(int $number)
- {
- if ($number > 50) {
- return 'yes';
- }
-+
-+ return null;
- }
- }
-```
-
-
-
-### FlipTypeControlToUseExclusiveTypeRector
-
-Flip type control from null compare to use exclusive instanceof object
-
-- class: [`Rector\CodeQuality\Rector\Identical\FlipTypeControlToUseExclusiveTypeRector`](../rules/CodeQuality/Rector/Identical/FlipTypeControlToUseExclusiveTypeRector.php)
-
-```diff
- function process(?DateTime $dateTime)
- {
-- if ($dateTime === null) {
-+ if (! $dateTime instanceof DateTime) {
- return;
- }
- }
-```
-
-
-
-### ForRepeatedCountToOwnVariableRector
-
-Change `count()` in for function to own variable
-
-- class: [`Rector\CodeQuality\Rector\For_\ForRepeatedCountToOwnVariableRector`](../rules/CodeQuality/Rector/For_/ForRepeatedCountToOwnVariableRector.php)
-
-```diff
- class SomeClass
- {
- public function run($items)
- {
-- for ($i = 5; $i <= count($items); $i++) {
-+ $itemsCount = count($items);
-+ for ($i = 5; $i <= $itemsCount; $i++) {
- echo $items[$i];
- }
- }
- }
-```
-
-
-
-### ForeachItemsAssignToEmptyArrayToAssignRector
-
-Change `foreach()` items assign to empty array to direct assign
-
-- class: [`Rector\CodeQuality\Rector\Foreach_\ForeachItemsAssignToEmptyArrayToAssignRector`](../rules/CodeQuality/Rector/Foreach_/ForeachItemsAssignToEmptyArrayToAssignRector.php)
-
-```diff
- class SomeClass
- {
- public function run($items)
- {
- $collectedItems = [];
-
-- foreach ($items as $item) {
-- $collectedItems[] = $item;
-- }
-+ $collectedItems = $items;
- }
- }
-```
-
-
-
-### ForeachToInArrayRector
-
-Simplify `foreach` loops into `in_array` when possible
-
-- class: [`Rector\CodeQuality\Rector\Foreach_\ForeachToInArrayRector`](../rules/CodeQuality/Rector/Foreach_/ForeachToInArrayRector.php)
-
-```diff
--foreach ($items as $item) {
-- if ($item === 'something') {
-- return true;
-- }
--}
--
--return false;
-+return in_array('something', $items, true);
-```
-
-
-
-### InlineArrayReturnAssignRector
-
-Inline just in time array dim fetch assigns to direct return
-
-- class: [`Rector\CodeQuality\Rector\ClassMethod\InlineArrayReturnAssignRector`](../rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php)
-
-```diff
- function getPerson()
- {
-- $person = [];
-- $person['name'] = 'Timmy';
-- $person['surname'] = 'Back';
--
-- return $person;
-+ return [
-+ 'name' => 'Timmy',
-+ 'surname' => 'Back',
-+ ];
- }
-```
-
-
-
-### InlineConstructorDefaultToPropertyRector
-
-Move property default from constructor to property default
-
-- class: [`Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector`](../rules/CodeQuality/Rector/Class_/InlineConstructorDefaultToPropertyRector.php)
-
-```diff
- final class SomeClass
- {
-- private $name;
-+ private $name = 'John';
-
- public function __construct()
- {
-- $this->name = 'John';
- }
- }
-```
-
-
-
-### InlineIfToExplicitIfRector
-
-Change inline if to explicit if
-
-- class: [`Rector\CodeQuality\Rector\Expression\InlineIfToExplicitIfRector`](../rules/CodeQuality/Rector/Expression/InlineIfToExplicitIfRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $userId = null;
-
-- is_null($userId) && $userId = 5;
-+ if (is_null($userId)) {
-+ $userId = 5;
-+ }
- }
- }
-```
-
-
-
-### InlineIsAInstanceOfRector
-
-Change `is_a()` with object and class name check to instanceof
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\InlineIsAInstanceOfRector`](../rules/CodeQuality/Rector/FuncCall/InlineIsAInstanceOfRector.php)
-
-```diff
- class SomeClass
- {
- public function run(object $object)
- {
-- return is_a($object, SomeType::class);
-+ return $object instanceof SomeType;
- }
- }
-```
-
-
-
-### IsAWithStringWithThirdArgumentRector
-
-Complete missing 3rd argument in case `is_a()` function in case of strings
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\IsAWithStringWithThirdArgumentRector`](../rules/CodeQuality/Rector/FuncCall/IsAWithStringWithThirdArgumentRector.php)
-
-```diff
- class SomeClass
- {
- public function __construct(string $value)
- {
-- return is_a($value, 'stdClass');
-+ return is_a($value, 'stdClass', true);
- }
- }
-```
-
-
-
-### IssetOnPropertyObjectToPropertyExistsRector
-
-Change isset on property object to `property_exists()` and not null check
-
-- class: [`Rector\CodeQuality\Rector\Isset_\IssetOnPropertyObjectToPropertyExistsRector`](../rules/CodeQuality/Rector/Isset_/IssetOnPropertyObjectToPropertyExistsRector.php)
-
-```diff
- class SomeClass
- {
- private $x;
-
- public function run(): void
- {
-- isset($this->x);
-+ property_exists($this, 'x') && $this->x !== null;
- }
- }
-```
-
-
-
-### JoinStringConcatRector
-
-Joins concat of 2 strings, unless the length is too long
-
-- class: [`Rector\CodeQuality\Rector\Concat\JoinStringConcatRector`](../rules/CodeQuality/Rector/Concat/JoinStringConcatRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $name = 'Hi' . ' Tom';
-+ $name = 'Hi Tom';
- }
- }
-```
-
-
-
-### LocallyCalledStaticMethodToNonStaticRector
-
-Change static method and local-only calls to non-static
-
-- class: [`Rector\CodeQuality\Rector\ClassMethod\LocallyCalledStaticMethodToNonStaticRector`](../rules/CodeQuality/Rector/ClassMethod/LocallyCalledStaticMethodToNonStaticRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- self::someStatic();
-+ $this->someStatic();
- }
-
-- private static function someStatic()
-+ private function someStatic()
- {
- }
- }
-```
-
-
-
-### LogicalToBooleanRector
-
-Change OR, AND to ||, && with more common understanding
-
-- class: [`Rector\CodeQuality\Rector\LogicalAnd\LogicalToBooleanRector`](../rules/CodeQuality/Rector/LogicalAnd/LogicalToBooleanRector.php)
-
-```diff
--if ($f = false or true) {
-+if (($f = false) || true) {
- return $f;
- }
-```
-
-
-
-### NewStaticToNewSelfRector
-
-Change unsafe new `static()` to new `self()`
-
-- class: [`Rector\CodeQuality\Rector\New_\NewStaticToNewSelfRector`](../rules/CodeQuality/Rector/New_/NewStaticToNewSelfRector.php)
-
-```diff
- final class SomeClass
- {
- public function build()
- {
-- return new static();
-+ return new self();
- }
- }
-```
-
-
-
-### NumberCompareToMaxFuncCallRector
-
-Ternary number compare to `max()` call
-
-- class: [`Rector\CodeQuality\Rector\Ternary\NumberCompareToMaxFuncCallRector`](../rules/CodeQuality/Rector/Ternary/NumberCompareToMaxFuncCallRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
-- return $value > 100 ? $value : 100;
-+ return max($value, 100);
- }
- }
-```
-
-
-
-### OptionalParametersAfterRequiredRector
-
-Move required parameters after optional ones
-
-- class: [`Rector\CodeQuality\Rector\ClassMethod\OptionalParametersAfterRequiredRector`](../rules/CodeQuality/Rector/ClassMethod/OptionalParametersAfterRequiredRector.php)
-
-```diff
- class SomeObject
- {
-- public function run($optional = 1, $required)
-+ public function run($required, $optional = 1)
- {
- }
- }
-```
-
-
-
-### RemoveSoleValueSprintfRector
-
-Remove `sprintf()` wrapper if not needed
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\RemoveSoleValueSprintfRector`](../rules/CodeQuality/Rector/FuncCall/RemoveSoleValueSprintfRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $welcome = 'hello';
-- $value = sprintf('%s', $welcome);
-+ $value = $welcome;
- }
- }
-```
-
-
-
-### RemoveUselessIsObjectCheckRector
-
-Remove useless `is_object()` check on combine with instanceof check
-
-- class: [`Rector\CodeQuality\Rector\BooleanAnd\RemoveUselessIsObjectCheckRector`](../rules/CodeQuality/Rector/BooleanAnd/RemoveUselessIsObjectCheckRector.php)
-
-```diff
--is_object($obj) && $obj instanceof DateTime
-+$obj instanceof DateTime
-```
-
-
-
-### ReplaceMultipleBooleanNotRector
-
-Replace the Double not operator (!!) by type-casting to boolean
-
-- class: [`Rector\CodeQuality\Rector\BooleanNot\ReplaceMultipleBooleanNotRector`](../rules/CodeQuality/Rector/BooleanNot/ReplaceMultipleBooleanNotRector.php)
-
-```diff
--$bool = !!$var;
-+$bool = (bool) $var;
-```
-
-
-
-### SetTypeToCastRector
-
-Changes `settype()` to (type) where possible
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SetTypeToCastRector`](../rules/CodeQuality/Rector/FuncCall/SetTypeToCastRector.php)
-
-```diff
- class SomeClass
- {
- public function run($foo)
- {
-- settype($foo, 'string');
-+ $foo = (string) $foo;
-
-- return settype($foo, 'integer');
-+ return (int) $foo;
- }
- }
-```
-
-
-
-### ShortenElseIfRector
-
-Shortens else/if to elseif
-
-- class: [`Rector\CodeQuality\Rector\If_\ShortenElseIfRector`](../rules/CodeQuality/Rector/If_/ShortenElseIfRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- if ($cond1) {
- return $action1;
-- } else {
-- if ($cond2) {
-- return $action2;
-- }
-+ } elseif ($cond2) {
-+ return $action2;
- }
- }
- }
-```
-
-
-
-### SimplifyArraySearchRector
-
-Simplify array_search to in_array
-
-- class: [`Rector\CodeQuality\Rector\Identical\SimplifyArraySearchRector`](../rules/CodeQuality/Rector/Identical/SimplifyArraySearchRector.php)
-
-```diff
--array_search("searching", $array) !== false;
-+in_array("searching", $array);
-```
-
-
-
-```diff
--array_search("searching", $array, true) !== false;
-+in_array("searching", $array, true);
-```
-
-
-
-### SimplifyBoolIdenticalTrueRector
-
-Simplify bool value compare to true or false
-
-- class: [`Rector\CodeQuality\Rector\Identical\SimplifyBoolIdenticalTrueRector`](../rules/CodeQuality/Rector/Identical/SimplifyBoolIdenticalTrueRector.php)
-
-```diff
- class SomeClass
- {
- public function run(bool $value, string $items)
- {
-- $match = in_array($value, $items, TRUE) === TRUE;
-+ $match = in_array($value, $items, TRUE);
-
-- $match = in_array($value, $items, TRUE) !== FALSE;
-+ $match = in_array($value, $items, TRUE);
- }
- }
-```
-
-
-
-### SimplifyConditionsRector
-
-Simplify conditions
-
-- class: [`Rector\CodeQuality\Rector\Identical\SimplifyConditionsRector`](../rules/CodeQuality/Rector/Identical/SimplifyConditionsRector.php)
-
-```diff
--if (! ($foo !== 'bar')) {...
-+if ($foo === 'bar') {...
-```
-
-
-
-### SimplifyDeMorganBinaryRector
-
-Simplify negated conditions with de Morgan theorem
-
-- class: [`Rector\CodeQuality\Rector\BooleanNot\SimplifyDeMorganBinaryRector`](../rules/CodeQuality/Rector/BooleanNot/SimplifyDeMorganBinaryRector.php)
-
-```diff
- $a = 5;
- $b = 10;
--$result = !($a > 20 || $b <= 50);
-+$result = $a <= 20 && $b > 50;
-```
-
-
-
-### SimplifyEmptyArrayCheckRector
-
-Simplify `is_array` and `empty` functions combination into a simple identical check for an empty array
-
-- class: [`Rector\CodeQuality\Rector\BooleanAnd\SimplifyEmptyArrayCheckRector`](../rules/CodeQuality/Rector/BooleanAnd/SimplifyEmptyArrayCheckRector.php)
-
-```diff
--is_array($values) && empty($values)
-+$values === []
-```
-
-
-
-### SimplifyEmptyCheckOnEmptyArrayRector
-
-Simplify `empty()` functions calls on empty arrays
-
-- class: [`Rector\CodeQuality\Rector\Empty_\SimplifyEmptyCheckOnEmptyArrayRector`](../rules/CodeQuality/Rector/Empty_/SimplifyEmptyCheckOnEmptyArrayRector.php)
-
-```diff
- $array = [];
-
--if (empty($values)) {
-+if ([] === $values) {
- }
-```
-
-
-
-### SimplifyForeachToCoalescingRector
-
-Changes foreach that returns set value to ??
-
-- class: [`Rector\CodeQuality\Rector\Foreach_\SimplifyForeachToCoalescingRector`](../rules/CodeQuality/Rector/Foreach_/SimplifyForeachToCoalescingRector.php)
-
-```diff
--foreach ($this->oldToNewFunctions as $oldFunction => $newFunction) {
-- if ($currentFunction === $oldFunction) {
-- return $newFunction;
-- }
--}
--
--return null;
-+return $this->oldToNewFunctions[$currentFunction] ?? null;
-```
-
-
-
-### SimplifyFuncGetArgsCountRector
-
-Simplify count of `func_get_args()` to `func_num_args()`
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SimplifyFuncGetArgsCountRector`](../rules/CodeQuality/Rector/FuncCall/SimplifyFuncGetArgsCountRector.php)
-
-```diff
--count(func_get_args());
-+func_num_args();
-```
-
-
-
-### SimplifyIfElseToTernaryRector
-
-Changes if/else for same value as assign to ternary
-
-- class: [`Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector`](../rules/CodeQuality/Rector/If_/SimplifyIfElseToTernaryRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if (empty($value)) {
-- $this->arrayBuilt[][$key] = true;
-- } else {
-- $this->arrayBuilt[][$key] = $value;
-- }
-+ $this->arrayBuilt[][$key] = empty($value) ? true : $value;
- }
- }
-```
-
-
-
-### SimplifyIfNotNullReturnRector
-
-Changes redundant null check to instant return
-
-- class: [`Rector\CodeQuality\Rector\If_\SimplifyIfNotNullReturnRector`](../rules/CodeQuality/Rector/If_/SimplifyIfNotNullReturnRector.php)
-
-```diff
- $newNode = 'something';
--if ($newNode !== null) {
-- return $newNode;
--}
--
--return null;
-+return $newNode;
-```
-
-
-
-### SimplifyIfNullableReturnRector
-
-Direct return on if nullable check before return
-
-- class: [`Rector\CodeQuality\Rector\If_\SimplifyIfNullableReturnRector`](../rules/CodeQuality/Rector/If_/SimplifyIfNullableReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $value = $this->get();
-- if (! $value instanceof \stdClass) {
-- return null;
-- }
--
-- return $value;
-+ return $this->get();
- }
-
- public function get(): ?stdClass {
- }
- }
-```
-
-
-
-### SimplifyIfReturnBoolRector
-
-Shortens if return false/true to direct return
-
-- class: [`Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector`](../rules/CodeQuality/Rector/If_/SimplifyIfReturnBoolRector.php)
-
-```diff
--if (strpos($docToken->getContent(), "\n") === false) {
-- return true;
--}
--
--return false;
-+return strpos($docToken->getContent(), "\n") === false;
-```
-
-
-
-### SimplifyInArrayValuesRector
-
-Removes unneeded `array_values()` in `in_array()` call
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SimplifyInArrayValuesRector`](../rules/CodeQuality/Rector/FuncCall/SimplifyInArrayValuesRector.php)
-
-```diff
--in_array("key", array_values($array), true);
-+in_array("key", $array, true);
-```
-
-
-
-### SimplifyRegexPatternRector
-
-Simplify regex pattern to known ranges
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector`](../rules/CodeQuality/Rector/FuncCall/SimplifyRegexPatternRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
-- preg_match('#[a-zA-Z0-9+]#', $value);
-+ preg_match('#[\w\d+]#', $value);
- }
- }
-```
-
-
-
-### SimplifyStrposLowerRector
-
-Simplify `strpos(strtolower()`, "...") calls
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector`](../rules/CodeQuality/Rector/FuncCall/SimplifyStrposLowerRector.php)
-
-```diff
--strpos(strtolower($var), "...")
-+stripos($var, "...")
-```
-
-
-
-### SimplifyTautologyTernaryRector
-
-Simplify tautology ternary to value
-
-- class: [`Rector\CodeQuality\Rector\Ternary\SimplifyTautologyTernaryRector`](../rules/CodeQuality/Rector/Ternary/SimplifyTautologyTernaryRector.php)
-
-```diff
--$value = ($fullyQualifiedTypeHint !== $typeHint) ? $fullyQualifiedTypeHint : $typeHint;
-+$value = $fullyQualifiedTypeHint;
-```
-
-
-
-### SimplifyUselessVariableRector
-
-Removes useless variable assigns
-
-:wrench: **configure it!**
-
-- class: [`Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector`](../rules/CodeQuality/Rector/FunctionLike/SimplifyUselessVariableRector.php)
-
-```diff
- function () {
-- $a = true;
-- return $a;
-+ return true;
- };
-```
-
-
-
-```diff
- function () {
- $a = 'Hello, ';
-- $a .= 'World!';
-
-- return $a;
-+ return $a . 'World!';
- };
-```
-
-
-
-### SingleInArrayToCompareRector
-
-Changes `in_array()` with single element to ===
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector`](../rules/CodeQuality/Rector/FuncCall/SingleInArrayToCompareRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if (in_array(strtolower($type), ['$this'], true)) {
-+ if (strtolower($type) === '$this') {
- return strtolower($type);
- }
- }
- }
-```
-
-
-
-### SingularSwitchToIfRector
-
-Change switch with only 1 check to if
-
-- class: [`Rector\CodeQuality\Rector\Switch_\SingularSwitchToIfRector`](../rules/CodeQuality/Rector/Switch_/SingularSwitchToIfRector.php)
-
-```diff
- class SomeObject
- {
- public function run($value)
- {
- $result = 1;
-- switch ($value) {
-- case 100:
-+ if ($value === 100) {
- $result = 1000;
- }
-
- return $result;
- }
- }
-```
-
-
-
-### StaticToSelfStaticMethodCallOnFinalClassRector
-
-Change `static::methodCall()` to `self::methodCall()` on final class
-
-- class: [`Rector\CodeQuality\Rector\Class_\StaticToSelfStaticMethodCallOnFinalClassRector`](../rules/CodeQuality/Rector/Class_/StaticToSelfStaticMethodCallOnFinalClassRector.php)
-
-```diff
- final class SomeClass
- {
- public function d()
- {
-- echo static::run();
-+ echo self::run();
- }
-
- private static function run()
- {
- echo 'test';
- }
- }
-```
-
-
-
-### StrlenZeroToIdenticalEmptyStringRector
-
-Changes strlen comparison to 0 to direct empty string compare
-
-- class: [`Rector\CodeQuality\Rector\Identical\StrlenZeroToIdenticalEmptyStringRector`](../rules/CodeQuality/Rector/Identical/StrlenZeroToIdenticalEmptyStringRector.php)
-
-```diff
- class SomeClass
- {
- public function run(string $value)
- {
-- $empty = strlen($value) === 0;
-+ $empty = $value === '';
- }
- }
-```
-
-
-
-### SwitchNegatedTernaryRector
-
-Switch negated ternary condition rector
-
-- class: [`Rector\CodeQuality\Rector\Ternary\SwitchNegatedTernaryRector`](../rules/CodeQuality/Rector/Ternary/SwitchNegatedTernaryRector.php)
-
-```diff
- class SomeClass
- {
- public function run(bool $upper, string $name)
- {
-- return ! $upper
-- ? $name
-- : strtoupper($name);
-+ return $upper
-+ ? strtoupper($name)
-+ : $name;
- }
- }
-```
-
-
-
-### SwitchTrueToIfRector
-
-Change switch (true) to if statements
-
-- class: [`Rector\CodeQuality\Rector\Switch_\SwitchTrueToIfRector`](../rules/CodeQuality/Rector/Switch_/SwitchTrueToIfRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- switch (true) {
-- case $value === 0:
-- return 'no';
-- case $value === 1:
-- return 'yes';
-- case $value === 2:
-- return 'maybe';
-- };
-+ if ($value === 0) {
-+ return 'no';
-+ }
-+
-+ if ($value === 1) {
-+ return 'yes';
-+ }
-+
-+ if ($value === 2) {
-+ return 'maybe';
-+ }
- }
- }
-```
-
-
-
-### TernaryEmptyArrayArrayDimFetchToCoalesceRector
-
-Change ternary empty on array property with array dim fetch to coalesce operator
-
-- class: [`Rector\CodeQuality\Rector\Ternary\TernaryEmptyArrayArrayDimFetchToCoalesceRector`](../rules/CodeQuality/Rector/Ternary/TernaryEmptyArrayArrayDimFetchToCoalesceRector.php)
-
-```diff
- final class SomeClass
- {
- private array $items = [];
-
- public function run()
- {
-- return ! empty($this->items) ? $this->items[0] : 'default';
-+ return $this->items[0] ?? 'default';
- }
- }
-```
-
-
-
-### TernaryFalseExpressionToIfRector
-
-Change ternary with false to if and explicit call
-
-- class: [`Rector\CodeQuality\Rector\Expression\TernaryFalseExpressionToIfRector`](../rules/CodeQuality/Rector/Expression/TernaryFalseExpressionToIfRector.php)
-
-```diff
- final class SomeClass
- {
- public function run($value, $someMethod)
- {
-- $value ? $someMethod->call($value) : false;
-+ if ($value) {
-+ $someMethod->call($value);
-+ }
- }
- }
-```
-
-
-
-### ThrowWithPreviousExceptionRector
-
-When throwing into a catch block, checks that the previous exception is passed to the new throw clause
-
-- class: [`Rector\CodeQuality\Rector\Catch_\ThrowWithPreviousExceptionRector`](../rules/CodeQuality/Rector/Catch_/ThrowWithPreviousExceptionRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- try {
- $someCode = 1;
- } catch (Throwable $throwable) {
-- throw new AnotherException('ups');
-+ throw new AnotherException('ups', $throwable->getCode(), $throwable);
- }
- }
- }
-```
-
-
-
-### UnnecessaryTernaryExpressionRector
-
-Remove unnecessary ternary expressions
-
-- class: [`Rector\CodeQuality\Rector\Ternary\UnnecessaryTernaryExpressionRector`](../rules/CodeQuality/Rector/Ternary/UnnecessaryTernaryExpressionRector.php)
-
-```diff
--$foo === $bar ? true : false;
-+$foo === $bar;
-```
-
-
-
-### UnusedForeachValueToArrayKeysRector
-
-Change foreach with unused `$value` but only `$key,` to `array_keys()`
-
-- class: [`Rector\CodeQuality\Rector\Foreach_\UnusedForeachValueToArrayKeysRector`](../rules/CodeQuality/Rector/Foreach_/UnusedForeachValueToArrayKeysRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $items = [];
-- foreach ($values as $key => $value) {
-+ foreach (array_keys($values) as $key) {
- $items[$key] = null;
- }
- }
- }
-```
-
-
-
-### UnwrapSprintfOneArgumentRector
-
-unwrap `sprintf()` with one argument
-
-- class: [`Rector\CodeQuality\Rector\FuncCall\UnwrapSprintfOneArgumentRector`](../rules/CodeQuality/Rector/FuncCall/UnwrapSprintfOneArgumentRector.php)
-
-```diff
--echo sprintf('value');
-+echo 'value';
-```
-
-
-
-### UseIdenticalOverEqualWithSameTypeRector
-
-Use ===/!== over ==/!=, it values have the same type
-
-- class: [`Rector\CodeQuality\Rector\Equal\UseIdenticalOverEqualWithSameTypeRector`](../rules/CodeQuality/Rector/Equal/UseIdenticalOverEqualWithSameTypeRector.php)
-
-```diff
- class SomeClass
- {
- public function run(int $firstValue, int $secondValue)
- {
-- $isSame = $firstValue == $secondValue;
-- $isDiffernt = $firstValue != $secondValue;
-+ $isSame = $firstValue === $secondValue;
-+ $isDiffernt = $firstValue !== $secondValue;
- }
- }
-```
-
-
-
-## CodingStyle
-
-### ArraySpreadInsteadOfArrayMergeRector
-
-Change `array_merge()` to spread operator
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\ArraySpreadInsteadOfArrayMergeRector`](../rules/CodingStyle/Rector/FuncCall/ArraySpreadInsteadOfArrayMergeRector.php)
-
-```diff
- class SomeClass
- {
- public function run($iter1, $iter2)
- {
-- $values = array_merge(iterator_to_array($iter1), iterator_to_array($iter2));
-+ $values = [...$iter1, ...$iter2];
-
- // Or to generalize to all iterables
-- $anotherValues = array_merge(
-- is_array($iter1) ? $iter1 : iterator_to_array($iter1),
-- is_array($iter2) ? $iter2 : iterator_to_array($iter2)
-- );
-+ $anotherValues = [...$iter1, ...$iter2];
- }
- }
-```
-
-
-
-### CallUserFuncArrayToVariadicRector
-
-Replace `call_user_func_array()` with variadic
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\CallUserFuncArrayToVariadicRector`](../rules/CodingStyle/Rector/FuncCall/CallUserFuncArrayToVariadicRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- call_user_func_array('some_function', $items);
-+ some_function(...$items);
- }
- }
-```
-
-
-
-### CallUserFuncToMethodCallRector
-
-Refactor `call_user_func()` on known class method to a method call
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\CallUserFuncToMethodCallRector`](../rules/CodingStyle/Rector/FuncCall/CallUserFuncToMethodCallRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
-- $result = \call_user_func([$this->property, 'method'], $args);
-+ $result = $this->property->method($args);
- }
- }
-```
-
-
-
-### CatchExceptionNameMatchingTypeRector
-
-Type and name of catch exception should match
-
-- class: [`Rector\CodingStyle\Rector\Catch_\CatchExceptionNameMatchingTypeRector`](../rules/CodingStyle/Rector/Catch_/CatchExceptionNameMatchingTypeRector.php)
-
-```diff
- try {
- // ...
--} catch (SomeException $typoException) {
-- $typoException->getMessage();
-+} catch (SomeException $someException) {
-+ $someException->getMessage();
- }
-```
-
-
-
-### ConsistentImplodeRector
-
-Changes various implode forms to consistent one
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\ConsistentImplodeRector`](../rules/CodingStyle/Rector/FuncCall/ConsistentImplodeRector.php)
-
-```diff
- class SomeClass
- {
- public function run(array $items)
- {
-- $itemsAsStrings = implode($items);
-- $itemsAsStrings = implode($items, '|');
-+ $itemsAsStrings = implode('', $items);
-+ $itemsAsStrings = implode('|', $items);
- }
- }
-```
-
-
-
-### CountArrayToEmptyArrayComparisonRector
-
-Change count array comparison to empty array comparison to improve performance
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector`](../rules/CodingStyle/Rector/FuncCall/CountArrayToEmptyArrayComparisonRector.php)
-
-```diff
--count($array) === 0;
--count($array) > 0;
--! count($array);
-+$array === [];
-+$array !== [];
-+$array === [];
-```
-
-
-
-### EncapsedStringsToSprintfRector
-
-Convert enscaped {$string} to more readable sprintf or concat, if no mask is used
-
-:wrench: **configure it!**
-
-- class: [`Rector\CodingStyle\Rector\Encapsed\EncapsedStringsToSprintfRector`](../rules/CodingStyle/Rector/Encapsed/EncapsedStringsToSprintfRector.php)
-
-```diff
--echo "Unsupported format {$format} - use another";
-+echo sprintf('Unsupported format %s - use another', $format);
-
--echo "Try {$allowed}";
-+echo 'Try ' . $allowed;
-```
-
-
-
-```diff
--echo "Unsupported format {$format} - use another";
-+echo sprintf('Unsupported format %s - use another', $format);
-
--echo "Try {$allowed}";
-+echo sprintf('Try %s', $allowed);
-```
-
-
-
-### FuncGetArgsToVariadicParamRector
-
-Refactor `func_get_args()` in to a variadic param
-
-- class: [`Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector`](../rules/CodingStyle/Rector/ClassMethod/FuncGetArgsToVariadicParamRector.php)
-
-```diff
--function run()
-+function run(...$args)
- {
-- $args = \func_get_args();
- }
-```
-
-
-
-### FunctionFirstClassCallableRector
-
-Upgrade string callback functions to first class callable
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\FunctionFirstClassCallableRector`](../rules/CodingStyle/Rector/FuncCall/FunctionFirstClassCallableRector.php)
-
-```diff
- final class SomeClass
- {
- public function run(array $data)
- {
-- return array_map('trim', $data);
-+ return array_map(trim(...), $data);
- }
- }
-```
-
-
-
-### MakeInheritedMethodVisibilitySameAsParentRector
-
-Make method visibility same as parent one
-
-- class: [`Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector`](../rules/CodingStyle/Rector/ClassMethod/MakeInheritedMethodVisibilitySameAsParentRector.php)
-
-```diff
- class ChildClass extends ParentClass
- {
-- public function run()
-+ protected function run()
- {
- }
- }
-
- class ParentClass
- {
- protected function run()
- {
- }
- }
-```
-
-
-
-### MultiDimensionalArrayToArrayDestructRector
-
-Change multidimensional array access in foreach to array destruct
-
-- class: [`Rector\CodingStyle\Rector\Foreach_\MultiDimensionalArrayToArrayDestructRector`](../rules/CodingStyle/Rector/Foreach_/MultiDimensionalArrayToArrayDestructRector.php)
-
-```diff
- class SomeClass
- {
- /**
- * @param array $users
- */
- public function run(array $users)
- {
-- foreach ($users as $user) {
-- echo $user['id'];
-- echo sprintf('Name: %s', $user['name']);
-+ foreach ($users as ['id' => $id, 'name' => $name]) {
-+ echo $id;
-+ echo sprintf('Name: %s', $name);
- }
- }
- }
-```
-
-
-
-### NewlineAfterStatementRector
-
-Add new line after statements to tidify code
-
-- class: [`Rector\CodingStyle\Rector\Stmt\NewlineAfterStatementRector`](../rules/CodingStyle/Rector/Stmt/NewlineAfterStatementRector.php)
-
-```diff
- class SomeClass
- {
- public function first()
- {
- }
-+
- public function second()
- {
- }
- }
-```
-
-
-
-### NewlineBeforeNewAssignSetRector
-
-Add extra space before new assign set
-
-- class: [`Rector\CodingStyle\Rector\ClassMethod\NewlineBeforeNewAssignSetRector`](../rules/CodingStyle/Rector/ClassMethod/NewlineBeforeNewAssignSetRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
- $value = new Value;
- $value->setValue(5);
-+
- $value2 = new Value;
- $value2->setValue(1);
- }
- }
-```
-
-
-
-### NullableCompareToNullRector
-
-Changes negate of empty comparison of nullable value to explicit === or !== compare
-
-- class: [`Rector\CodingStyle\Rector\If_\NullableCompareToNullRector`](../rules/CodingStyle/Rector/If_/NullableCompareToNullRector.php)
-
-```diff
- /** @var stdClass|null $value */
--if ($value) {
-+if ($value !== null) {
- }
-
--if (!$value) {
-+if ($value === null) {
- }
-```
-
-
-
-### PostIncDecToPreIncDecRector
-
-Use ++$value or --$value instead of `$value++` or `$value--`
-
-- class: [`Rector\CodingStyle\Rector\PostInc\PostIncDecToPreIncDecRector`](../rules/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value = 1)
- {
-- $value++; echo $value;
-- $value--; echo $value;
-+ ++$value; echo $value;
-+ --$value; echo $value;
- }
- }
-```
-
-
-
-### RemoveFinalFromConstRector
-
-Remove final from constants in classes defined as final
-
-- class: [`Rector\CodingStyle\Rector\ClassConst\RemoveFinalFromConstRector`](../rules/CodingStyle/Rector/ClassConst/RemoveFinalFromConstRector.php)
-
-```diff
- final class SomeClass
- {
-- final public const NAME = 'value';
-+ public const NAME = 'value';
- }
-```
-
-
-
-### RemoveUselessAliasInUseStatementRector
-
-Remove useless alias in use statement as same name with last use statement name
-
-- class: [`Rector\CodingStyle\Rector\Stmt\RemoveUselessAliasInUseStatementRector`](../rules/CodingStyle/Rector/Stmt/RemoveUselessAliasInUseStatementRector.php)
-
-```diff
--use App\Bar as Bar;
-+use App\Bar;
-```
-
-
-
-### SeparateMultiUseImportsRector
-
-Split multi use imports and trait statements to standalone lines
-
-- class: [`Rector\CodingStyle\Rector\Use_\SeparateMultiUseImportsRector`](../rules/CodingStyle/Rector/Use_/SeparateMultiUseImportsRector.php)
-
-```diff
--use A, B;
-+use A;
-+use B;
-
- class SomeClass
- {
-- use SomeTrait, AnotherTrait;
-+ use SomeTrait;
-+ use AnotherTrait;
- }
-```
-
-
-
-### SplitDoubleAssignRector
-
-Split multiple inline assigns to each own lines default value, to prevent undefined array issues
-
-- class: [`Rector\CodingStyle\Rector\Assign\SplitDoubleAssignRector`](../rules/CodingStyle/Rector/Assign/SplitDoubleAssignRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $one = $two = 1;
-+ $one = 1;
-+ $two = 1;
- }
- }
-```
-
-
-
-### SplitGroupedClassConstantsRector
-
-Separate class constant to own lines
-
-- class: [`Rector\CodingStyle\Rector\ClassConst\SplitGroupedClassConstantsRector`](../rules/CodingStyle/Rector/ClassConst/SplitGroupedClassConstantsRector.php)
-
-```diff
- class SomeClass
- {
-- const HI = true, HELLO = 'true';
-+ const HI = true;
-+ const HELLO = 'true';
- }
-```
-
-
-
-### SplitGroupedPropertiesRector
-
-Separate grouped properties to own lines
-
-- class: [`Rector\CodingStyle\Rector\Property\SplitGroupedPropertiesRector`](../rules/CodingStyle/Rector/Property/SplitGroupedPropertiesRector.php)
-
-```diff
- class SomeClass
- {
- /**
- * @var string
- */
-- public $isIt, $isIsThough;
-+ public $isIt;
-+
-+ /**
-+ * @var string
-+ */
-+ public $isIsThough;
- }
-```
-
-
-
-### StaticArrowFunctionRector
-
-Changes ArrowFunction to be static when possible
-
-- class: [`Rector\CodingStyle\Rector\ArrowFunction\StaticArrowFunctionRector`](../rules/CodingStyle/Rector/ArrowFunction/StaticArrowFunctionRector.php)
-
-```diff
--fn (): string => 'test';
-+static fn (): string => 'test';
-```
-
-
-
-### StaticClosureRector
-
-Changes Closure to be static when possible
-
-- class: [`Rector\CodingStyle\Rector\Closure\StaticClosureRector`](../rules/CodingStyle/Rector/Closure/StaticClosureRector.php)
-
-```diff
--function () {
-+static function () {
- if (rand(0, 1)) {
- return 1;
- }
-
- return 2;
- }
-```
-
-
-
-### StrictArraySearchRector
-
-Makes array_search search for identical elements
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\StrictArraySearchRector`](../rules/CodingStyle/Rector/FuncCall/StrictArraySearchRector.php)
-
-```diff
--array_search($value, $items);
-+array_search($value, $items, true);
-```
-
-
-
-### SymplifyQuoteEscapeRector
-
-Prefer quote that are not inside the string
-
-- class: [`Rector\CodingStyle\Rector\String_\SymplifyQuoteEscapeRector`](../rules/CodingStyle/Rector/String_/SymplifyQuoteEscapeRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $name = "\" Tom";
-- $name = '\' Sara';
-+ $name = '" Tom';
-+ $name = "' Sara";
- }
- }
-```
-
-
-
-### TernaryConditionVariableAssignmentRector
-
-Assign outcome of ternary condition to variable, where applicable
-
-- class: [`Rector\CodingStyle\Rector\Ternary\TernaryConditionVariableAssignmentRector`](../rules/CodingStyle/Rector/Ternary/TernaryConditionVariableAssignmentRector.php)
-
-```diff
- function ternary($value)
- {
-- $value ? $a = 1 : $a = 0;
-+ $a = $value ? 1 : 0;
- }
-```
-
-
-
-### UseClassKeywordForClassNameResolutionRector
-
-Use `class` keyword for class name resolution in string instead of hardcoded string reference
-
-- class: [`Rector\CodingStyle\Rector\String_\UseClassKeywordForClassNameResolutionRector`](../rules/CodingStyle/Rector/String_/UseClassKeywordForClassNameResolutionRector.php)
-
-```diff
--$value = 'App\SomeClass::someMethod()';
-+$value = \App\SomeClass::class . '::someMethod()';
-```
-
-
-
-### VersionCompareFuncCallToConstantRector
-
-Changes use of call to version compare function to use of PHP version constant
-
-- class: [`Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector`](../rules/CodingStyle/Rector/FuncCall/VersionCompareFuncCallToConstantRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- version_compare(PHP_VERSION, '5.3.0', '<');
-+ PHP_VERSION_ID < 50300;
- }
- }
-```
-
-
-
-### WrapEncapsedVariableInCurlyBracesRector
-
-Wrap encapsed variables in curly braces
-
-- class: [`Rector\CodingStyle\Rector\Encapsed\WrapEncapsedVariableInCurlyBracesRector`](../rules/CodingStyle/Rector/Encapsed/WrapEncapsedVariableInCurlyBracesRector.php)
-
-```diff
- function run($world)
- {
-- echo "Hello $world!";
-+ echo "Hello {$world}!";
- }
-```
-
-
-
-## DeadCode
-
-### RecastingRemovalRector
-
-Removes recasting of the same type
-
-- class: [`Rector\DeadCode\Rector\Cast\RecastingRemovalRector`](../rules/DeadCode/Rector/Cast/RecastingRemovalRector.php)
-
-```diff
- $string = '';
--$string = (string) $string;
-+$string = $string;
-
- $array = [];
--$array = (array) $array;
-+$array = $array;
-```
-
-
-
-### ReduceAlwaysFalseIfOrRector
-
-Reduce always false in a if ( || ) condition
-
-- class: [`Rector\DeadCode\Rector\If_\ReduceAlwaysFalseIfOrRector`](../rules/DeadCode/Rector/If_/ReduceAlwaysFalseIfOrRector.php)
-
-```diff
- class SomeClass
- {
- public function run(int $number)
- {
-- if (! is_int($number) || $number > 50) {
-+ if ($number > 50) {
- return 'yes';
- }
-
- return 'no';
- }
- }
-```
-
-
-
-### RemoveAlwaysTrueIfConditionRector
-
-Remove if condition that is always true
-
-- class: [`Rector\DeadCode\Rector\If_\RemoveAlwaysTrueIfConditionRector`](../rules/DeadCode/Rector/If_/RemoveAlwaysTrueIfConditionRector.php)
-
-```diff
- final class SomeClass
- {
- public function go()
- {
-- if (1 === 1) {
-- return 'yes';
-- }
-+ return 'yes';
-
- return 'no';
- }
- }
-```
-
-
-
-### RemoveAndTrueRector
-
-Remove and true that has no added value
-
-- class: [`Rector\DeadCode\Rector\BooleanAnd\RemoveAndTrueRector`](../rules/DeadCode/Rector/BooleanAnd/RemoveAndTrueRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return true && 5 === 1;
-+ return 5 === 1;
- }
- }
-```
-
-
-
-### RemoveAnnotationRector
-
-Remove annotation by names
-
-:wrench: **configure it!**
-
-- class: [`Rector\DeadCode\Rector\ClassLike\RemoveAnnotationRector`](../rules/DeadCode/Rector/ClassLike/RemoveAnnotationRector.php)
-
-```diff
--/**
-- * @method getName()
-- */
- final class SomeClass
- {
- }
-```
-
-
-
-### RemoveConcatAutocastRector
-
-Remove (string) casting when it comes to concat, that does this by default
-
-- class: [`Rector\DeadCode\Rector\Concat\RemoveConcatAutocastRector`](../rules/DeadCode/Rector/Concat/RemoveConcatAutocastRector.php)
-
-```diff
- class SomeConcatingClass
- {
- public function run($value)
- {
-- return 'hi ' . (string) $value;
-+ return 'hi ' . $value;
- }
- }
-```
-
-
-
-### RemoveDeadConditionAboveReturnRector
-
-Remove dead condition above return
-
-- class: [`Rector\DeadCode\Rector\Return_\RemoveDeadConditionAboveReturnRector`](../rules/DeadCode/Rector/Return_/RemoveDeadConditionAboveReturnRector.php)
-
-```diff
- final class SomeClass
- {
- public function go()
- {
-- if (1 === 1) {
-- return 'yes';
-- }
--
- return 'yes';
- }
- }
-```
-
-
-
-### RemoveDeadContinueRector
-
-Remove useless continue at the end of loops
-
-- class: [`Rector\DeadCode\Rector\For_\RemoveDeadContinueRector`](../rules/DeadCode/Rector/For_/RemoveDeadContinueRector.php)
-
-```diff
- while ($i < 10) {
- ++$i;
-- continue;
- }
-```
-
-
-
-### RemoveDeadIfForeachForRector
-
-Remove if, foreach and for that does not do anything
-
-- class: [`Rector\DeadCode\Rector\For_\RemoveDeadIfForeachForRector`](../rules/DeadCode/Rector/For_/RemoveDeadIfForeachForRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
-- if ($value) {
-- }
--
-- foreach ($values as $value) {
-- }
--
- return $value;
- }
- }
-```
-
-
-
-### RemoveDeadInstanceOfRector
-
-Remove dead instanceof check on type hinted variable
-
-- class: [`Rector\DeadCode\Rector\If_\RemoveDeadInstanceOfRector`](../rules/DeadCode/Rector/If_/RemoveDeadInstanceOfRector.php)
-
-```diff
- function run(stdClass $stdClass)
- {
-- if (! $stdClass instanceof stdClass) {
-- return false;
-- }
--
- return true;
- }
-```
-
-
-
-### RemoveDeadLoopRector
-
-Remove loop with no body
-
-- class: [`Rector\DeadCode\Rector\For_\RemoveDeadLoopRector`](../rules/DeadCode/Rector/For_/RemoveDeadLoopRector.php)
-
-```diff
- class SomeClass
- {
- public function run($values)
- {
-- for ($i=1; $i
-
-### RemoveDeadReturnRector
-
-Remove last return in the functions, since does not do anything
-
-- class: [`Rector\DeadCode\Rector\FunctionLike\RemoveDeadReturnRector`](../rules/DeadCode/Rector/FunctionLike/RemoveDeadReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $shallWeDoThis = true;
-
- if ($shallWeDoThis) {
- return;
- }
--
-- return;
- }
- }
-```
-
-
-
-### RemoveDeadStmtRector
-
-Removes dead code statements
-
-- class: [`Rector\DeadCode\Rector\Expression\RemoveDeadStmtRector`](../rules/DeadCode/Rector/Expression/RemoveDeadStmtRector.php)
-
-```diff
--$value = 5;
--$value;
-+$value = 5;
-```
-
-
-
-### RemoveDeadTryCatchRector
-
-Remove dead try/catch
-
-- class: [`Rector\DeadCode\Rector\TryCatch\RemoveDeadTryCatchRector`](../rules/DeadCode/Rector/TryCatch/RemoveDeadTryCatchRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- try {
-- // some code
-- }
-- catch (Throwable $throwable) {
-- throw $throwable;
-- }
- }
- }
-```
-
-
-
-### RemoveDeadZeroAndOneOperationRector
-
-Remove operation with 1 and 0, that have no effect on the value
-
-- class: [`Rector\DeadCode\Rector\Plus\RemoveDeadZeroAndOneOperationRector`](../rules/DeadCode/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $value = 5 * 1;
-- $value = 5 + 0;
-+ $value = 5;
-+ $value = 5;
- }
- }
-```
-
-
-
-### RemoveDoubleAssignRector
-
-Simplify useless double assigns
-
-- class: [`Rector\DeadCode\Rector\Assign\RemoveDoubleAssignRector`](../rules/DeadCode/Rector/Assign/RemoveDoubleAssignRector.php)
-
-```diff
--$value = 1;
- $value = 1;
-```
-
-
-
-### RemoveDuplicatedArrayKeyRector
-
-Remove duplicated key in defined arrays.
-
-- class: [`Rector\DeadCode\Rector\Array_\RemoveDuplicatedArrayKeyRector`](../rules/DeadCode/Rector/Array_/RemoveDuplicatedArrayKeyRector.php)
-
-```diff
- $item = [
-- 1 => 'A',
- 1 => 'B'
- ];
-```
-
-
-
-### RemoveDuplicatedCaseInSwitchRector
-
-2 following switch keys with identical will be reduced to one result
-
-- class: [`Rector\DeadCode\Rector\Switch_\RemoveDuplicatedCaseInSwitchRector`](../rules/DeadCode/Rector/Switch_/RemoveDuplicatedCaseInSwitchRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- switch ($name) {
- case 'clearHeader':
- return $this->modifyHeader($node, 'remove');
- case 'clearAllHeaders':
-- return $this->modifyHeader($node, 'replace');
- case 'clearRawHeaders':
- return $this->modifyHeader($node, 'replace');
- case '...':
- return 5;
- }
- }
- }
-```
-
-
-
-### RemoveEmptyClassMethodRector
-
-Remove empty class methods not required by parents
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveEmptyClassMethodRector`](../rules/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector.php)
-
-```diff
- class OrphanClass
- {
-- public function __construct()
-- {
-- }
- }
-```
-
-
-
-### RemoveNonExistingVarAnnotationRector
-
-Removes non-existing `@var` annotations above the code
-
-- class: [`Rector\DeadCode\Rector\Node\RemoveNonExistingVarAnnotationRector`](../rules/DeadCode/Rector/Node/RemoveNonExistingVarAnnotationRector.php)
-
-```diff
- class SomeClass
- {
- public function get()
- {
-- /** @var Training[] $trainings */
- return $this->getData();
- }
- }
-```
-
-
-
-### RemoveNullPropertyInitializationRector
-
-Remove initialization with null value from property declarations
-
-- class: [`Rector\DeadCode\Rector\PropertyProperty\RemoveNullPropertyInitializationRector`](../rules/DeadCode/Rector/PropertyProperty/RemoveNullPropertyInitializationRector.php)
-
-```diff
- class SunshineCommand extends ParentClassWithNewConstructor
- {
-- private $myVar = null;
-+ private $myVar;
- }
-```
-
-
-
-### RemoveNullTagValueNodeRector
-
-Remove `@var/@param/@return` null docblock
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveNullTagValueNodeRector`](../rules/DeadCode/Rector/ClassMethod/RemoveNullTagValueNodeRector.php)
-
-```diff
- class SomeClass
- {
-- /**
-- * @return null
-- */
- public function foo()
- {
- return null;
- }
- }
-```
-
-
-
-### RemoveParentCallWithoutParentRector
-
-Remove unused parent call with no parent class
-
-- class: [`Rector\DeadCode\Rector\StaticCall\RemoveParentCallWithoutParentRector`](../rules/DeadCode/Rector/StaticCall/RemoveParentCallWithoutParentRector.php)
-
-```diff
- class OrphanClass
- {
- public function __construct()
- {
-- parent::__construct();
- }
- }
-```
-
-
-
-### RemovePhpVersionIdCheckRector
-
-Remove unneeded PHP_VERSION_ID conditional checks
-
-- class: [`Rector\DeadCode\Rector\ConstFetch\RemovePhpVersionIdCheckRector`](../rules/DeadCode/Rector/ConstFetch/RemovePhpVersionIdCheckRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if (PHP_VERSION_ID < 80000) {
-- return;
-- }
--
- echo 'do something';
- }
- }
-```
-
-
-
-### RemoveTypedPropertyDeadInstanceOfRector
-
-Remove dead instanceof check on type hinted property
-
-- class: [`Rector\DeadCode\Rector\If_\RemoveTypedPropertyDeadInstanceOfRector`](../rules/DeadCode/Rector/If_/RemoveTypedPropertyDeadInstanceOfRector.php)
-
-```diff
- final class SomeClass
- {
- private $someObject;
-
- public function __construct(SomeObject $someObject)
- {
- $this->someObject = $someObject;
- }
-
- public function run()
- {
-- if ($this->someObject instanceof SomeObject) {
-- return true;
-- }
--
-- return false;
-+ return true;
- }
- }
-```
-
-
-
-### RemoveUnreachableStatementRector
-
-Remove unreachable statements
-
-- class: [`Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector`](../rules/DeadCode/Rector/Stmt/RemoveUnreachableStatementRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- return 5;
--
-- $removeMe = 10;
- }
- }
-```
-
-
-
-### RemoveUnusedConstructorParamRector
-
-Remove unused parameter in constructor
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUnusedConstructorParamRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUnusedConstructorParamRector.php)
-
-```diff
- final class SomeClass
- {
- private $hey;
-
-- public function __construct($hey, $man)
-+ public function __construct($hey)
- {
- $this->hey = $hey;
- }
- }
-```
-
-
-
-### RemoveUnusedForeachKeyRector
-
-Remove unused key in foreach
-
-- class: [`Rector\DeadCode\Rector\Foreach_\RemoveUnusedForeachKeyRector`](../rules/DeadCode/Rector/Foreach_/RemoveUnusedForeachKeyRector.php)
-
-```diff
- $items = [];
--foreach ($items as $key => $value) {
-+foreach ($items as $value) {
- $result = $value;
- }
-```
-
-
-
-### RemoveUnusedNonEmptyArrayBeforeForeachRector
-
-Remove unused if check to non-empty array before foreach of the array
-
-- class: [`Rector\DeadCode\Rector\If_\RemoveUnusedNonEmptyArrayBeforeForeachRector`](../rules/DeadCode/Rector/If_/RemoveUnusedNonEmptyArrayBeforeForeachRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $values = [];
-- if ($values !== []) {
-- foreach ($values as $value) {
-- echo $value;
-- }
-+ foreach ($values as $value) {
-+ echo $value;
- }
- }
- }
-```
-
-
-
-### RemoveUnusedPrivateClassConstantRector
-
-Remove unused class constants
-
-- class: [`Rector\DeadCode\Rector\ClassConst\RemoveUnusedPrivateClassConstantRector`](../rules/DeadCode/Rector/ClassConst/RemoveUnusedPrivateClassConstantRector.php)
-
-```diff
- class SomeClass
- {
-- private const SOME_CONST = 'dead';
--
- public function run()
- {
- }
- }
-```
-
-
-
-### RemoveUnusedPrivateMethodParameterRector
-
-Remove unused parameter, if not required by interface or parent class
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodParameterRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodParameterRector.php)
-
-```diff
- class SomeClass
- {
-- private function run($value, $value2)
-+ private function run($value)
- {
- $this->value = $value;
- }
- }
-```
-
-
-
-### RemoveUnusedPrivateMethodRector
-
-Remove unused private method
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUnusedPrivateMethodRector.php)
-
-```diff
- final class SomeController
- {
- public function run()
- {
- return 5;
- }
--
-- private function skip()
-- {
-- return 10;
-- }
- }
-```
-
-
-
-### RemoveUnusedPrivatePropertyRector
-
-Remove unused private properties
-
-- class: [`Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector`](../rules/DeadCode/Rector/Property/RemoveUnusedPrivatePropertyRector.php)
-
-```diff
- class SomeClass
- {
-- private $property;
- }
-```
-
-
-
-### RemoveUnusedPromotedPropertyRector
-
-Remove unused promoted property
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPromotedPropertyRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector.php)
-
-```diff
- class SomeClass
- {
- public function __construct(
-- private $someUnusedDependency,
- private $usedDependency
- ) {
- }
-
- public function getUsedDependency()
- {
- return $this->usedDependency;
- }
- }
-```
-
-
-
-### RemoveUnusedPublicMethodParameterRector
-
-Remove unused parameter in public method on final class without extends and interface
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPublicMethodParameterRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUnusedPublicMethodParameterRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run($a, $b)
-+ public function run($a)
- {
- echo $a;
- }
- }
-```
-
-
-
-### RemoveUnusedVariableAssignRector
-
-Remove unused assigns to variables
-
-- class: [`Rector\DeadCode\Rector\Assign\RemoveUnusedVariableAssignRector`](../rules/DeadCode/Rector/Assign/RemoveUnusedVariableAssignRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $value = 5;
- }
- }
-```
-
-
-
-### RemoveUselessParamTagRector
-
-Remove `@param` docblock with same type as parameter type
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUselessParamTagRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUselessParamTagRector.php)
-
-```diff
- class SomeClass
- {
- /**
-- * @param string $a
- * @param string $b description
- */
- public function foo(string $a, string $b)
- {
- }
- }
-```
-
-
-
-### RemoveUselessReadOnlyTagRector
-
-Remove useless `@readonly` annotation on native readonly type
-
-- class: [`Rector\DeadCode\Rector\Property\RemoveUselessReadOnlyTagRector`](../rules/DeadCode/Rector/Property/RemoveUselessReadOnlyTagRector.php)
-
-```diff
- final class SomeClass
- {
-- /**
-- * @readonly
-- */
- private readonly string $name;
-
- public function __construct(string $name)
- {
- $this->name = $name;
- }
- }
-```
-
-
-
-### RemoveUselessReturnExprInConstructRector
-
-Remove useless return Expr in `__construct()`
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUselessReturnExprInConstructRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUselessReturnExprInConstructRector.php)
-
-```diff
- class SomeClass
- {
- public function __construct()
- {
- if (rand(0, 1)) {
- $this->init();
-- return true;
-+ return;
- }
-
- if (rand(2, 3)) {
-- return parent::construct();
-+ parent::construct();
-+ return;
- }
-
- $this->execute();
- }
- }
-```
-
-
-
-### RemoveUselessReturnTagRector
-
-Remove `@return` docblock with same type as defined in PHP
-
-- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveUselessReturnTagRector`](../rules/DeadCode/Rector/ClassMethod/RemoveUselessReturnTagRector.php)
-
-```diff
- use stdClass;
-
- class SomeClass
- {
-- /**
-- * @return stdClass
-- */
- public function foo(): stdClass
- {
- }
- }
-```
-
-
-
-### RemoveUselessVarTagRector
-
-Remove unused `@var` annotation for properties
-
-- class: [`Rector\DeadCode\Rector\Property\RemoveUselessVarTagRector`](../rules/DeadCode/Rector/Property/RemoveUselessVarTagRector.php)
-
-```diff
- final class SomeClass
- {
-- /**
-- * @var string
-- */
- public string $name = 'name';
- }
-```
-
-
-
-### SimplifyIfElseWithSameContentRector
-
-Remove if/else if they have same content
-
-- class: [`Rector\DeadCode\Rector\If_\SimplifyIfElseWithSameContentRector`](../rules/DeadCode/Rector/If_/SimplifyIfElseWithSameContentRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if (true) {
-- return 1;
-- } else {
-- return 1;
-- }
-+ return 1;
- }
- }
-```
-
-
-
-### SimplifyMirrorAssignRector
-
-Removes unneeded `$value` = `$value` assigns
-
-- class: [`Rector\DeadCode\Rector\Expression\SimplifyMirrorAssignRector`](../rules/DeadCode/Rector/Expression/SimplifyMirrorAssignRector.php)
-
-```diff
- function run() {
-- $result = $result;
- }
-```
-
-
-
-### TernaryToBooleanOrFalseToBooleanAndRector
-
-Change ternary of bool : false to && bool
-
-- class: [`Rector\DeadCode\Rector\Ternary\TernaryToBooleanOrFalseToBooleanAndRector`](../rules/DeadCode/Rector/Ternary/TernaryToBooleanOrFalseToBooleanAndRector.php)
-
-```diff
- class SomeClass
- {
- public function go()
- {
-- return $value ? $this->getBool() : false;
-+ return $value && $this->getBool();
- }
-
- private function getBool(): bool
- {
- return (bool) 5;
- }
- }
-```
-
-
-
-### UnwrapFutureCompatibleIfPhpVersionRector
-
-Remove php version checks if they are passed
-
-- class: [`Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfPhpVersionRector`](../rules/DeadCode/Rector/If_/UnwrapFutureCompatibleIfPhpVersionRector.php)
-
-```diff
- // current PHP: 7.2
--if (version_compare(PHP_VERSION, '7.2', '<')) {
-- return 'is PHP 7.1-';
--} else {
-- return 'is PHP 7.2+';
--}
-+return 'is PHP 7.2+';
-```
-
-
-
-## EarlyReturn
-
-### ChangeIfElseValueAssignToEarlyReturnRector
-
-Change if/else value to early return
-
-- class: [`Rector\EarlyReturn\Rector\If_\ChangeIfElseValueAssignToEarlyReturnRector`](../rules/EarlyReturn/Rector/If_/ChangeIfElseValueAssignToEarlyReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- if ($this->hasDocBlock($tokens, $index)) {
-- $docToken = $tokens[$this->getDocBlockIndex($tokens, $index)];
-- } else {
-- $docToken = null;
-+ return $tokens[$this->getDocBlockIndex($tokens, $index)];
- }
--
-- return $docToken;
-+ return null;
- }
- }
-```
-
-
-
-### ChangeNestedForeachIfsToEarlyContinueRector
-
-Change nested ifs to foreach with continue
-
-- class: [`Rector\EarlyReturn\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector`](../rules/EarlyReturn/Rector/Foreach_/ChangeNestedForeachIfsToEarlyContinueRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $items = [];
-
- foreach ($values as $value) {
-- if ($value === 5) {
-- if ($value2 === 10) {
-- $items[] = 'maybe';
-- }
-+ if ($value !== 5) {
-+ continue;
- }
-+ if ($value2 !== 10) {
-+ continue;
-+ }
-+
-+ $items[] = 'maybe';
- }
- }
- }
-```
-
-
-
-### ChangeNestedIfsToEarlyReturnRector
-
-Change nested ifs to early return
-
-- class: [`Rector\EarlyReturn\Rector\If_\ChangeNestedIfsToEarlyReturnRector`](../rules/EarlyReturn/Rector/If_/ChangeNestedIfsToEarlyReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- if ($value === 5) {
-- if ($value2 === 10) {
-- return 'yes';
-- }
-+ if ($value !== 5) {
-+ return 'no';
-+ }
-+
-+ if ($value2 === 10) {
-+ return 'yes';
- }
-
- return 'no';
- }
- }
-```
-
-
-
-### ChangeOrIfContinueToMultiContinueRector
-
-Changes if || to early return
-
-- class: [`Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector`](../rules/EarlyReturn/Rector/If_/ChangeOrIfContinueToMultiContinueRector.php)
-
-```diff
- class SomeClass
- {
- public function canDrive(Car $newCar)
- {
- foreach ($cars as $car) {
-- if ($car->hasWheels() || $car->hasFuel()) {
-+ if ($car->hasWheels()) {
-+ continue;
-+ }
-+ if ($car->hasFuel()) {
- continue;
- }
-
- $car->setWheel($newCar->wheel);
- $car->setFuel($newCar->fuel);
- }
- }
- }
-```
-
-
-
-### PreparedValueToEarlyReturnRector
-
-Return early prepared value in ifs
-
-- class: [`Rector\EarlyReturn\Rector\Return_\PreparedValueToEarlyReturnRector`](../rules/EarlyReturn/Rector/Return_/PreparedValueToEarlyReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $var = null;
--
- if (rand(0, 1)) {
-- $var = 1;
-+ return 1;
- }
-
- if (rand(0, 1)) {
-- $var = 2;
-+ return 2;
- }
-
-- return $var;
-+ return null;
- }
- }
-```
-
-
-
-### RemoveAlwaysElseRector
-
-Split if statement, when if condition always break execution flow
-
-- class: [`Rector\EarlyReturn\Rector\If_\RemoveAlwaysElseRector`](../rules/EarlyReturn/Rector/If_/RemoveAlwaysElseRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
- if ($value) {
- throw new \InvalidStateException;
-- } else {
-- return 10;
- }
-+
-+ return 10;
- }
- }
-```
-
-
-
-### ReturnBinaryOrToEarlyReturnRector
-
-Changes Single return of || to early returns
-
-- class: [`Rector\EarlyReturn\Rector\Return_\ReturnBinaryOrToEarlyReturnRector`](../rules/EarlyReturn/Rector/Return_/ReturnBinaryOrToEarlyReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function accept()
- {
-- return $this->something() || $this->somethingElse();
-+ if ($this->something()) {
-+ return true;
-+ }
-+ return (bool) $this->somethingElse();
- }
- }
-```
-
-
-
-### ReturnEarlyIfVariableRector
-
-Replace if conditioned variable override with direct return
-
-- class: [`Rector\EarlyReturn\Rector\StmtsAwareInterface\ReturnEarlyIfVariableRector`](../rules/EarlyReturn/Rector/StmtsAwareInterface/ReturnEarlyIfVariableRector.php)
-
-```diff
- final class SomeClass
- {
- public function run($value)
- {
- if ($value === 50) {
-- $value = 100;
-+ return 100;
- }
-
- return $value;
- }
- }
-```
-
-
-
-## Instanceof
-
-### FlipNegatedTernaryInstanceofRector
-
-Flip negated ternary of instanceof to direct use of object
-
-- class: [`Rector\Instanceof_\Rector\Ternary\FlipNegatedTernaryInstanceofRector`](../rules/Instanceof_/Rector/Ternary/FlipNegatedTernaryInstanceofRector.php)
-
-```diff
--echo ! $object instanceof Product ? null : $object->getPrice();
-+echo $object instanceof Product ? $object->getPrice() : null;
-```
-
-
-
-## Naming
-
-### RenameForeachValueVariableToMatchExprVariableRector
-
-Renames value variable name in foreach loop to match expression variable
-
-- class: [`Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchExprVariableRector`](../rules/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $array = [];
-- foreach ($variables as $property) {
-- $array[] = $property;
-+ foreach ($variables as $variable) {
-+ $array[] = $variable;
- }
- }
- }
-```
-
-
-
-### RenameForeachValueVariableToMatchMethodCallReturnTypeRector
-
-Renames value variable name in foreach loop to match method type
-
-- class: [`Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchMethodCallReturnTypeRector`](../rules/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchMethodCallReturnTypeRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $array = [];
-- foreach ($object->getMethods() as $property) {
-- $array[] = $property;
-+ foreach ($object->getMethods() as $method) {
-+ $array[] = $method;
- }
- }
- }
-```
-
-
-
-### RenameParamToMatchTypeRector
-
-Rename param to match ClassType
-
-- class: [`Rector\Naming\Rector\ClassMethod\RenameParamToMatchTypeRector`](../rules/Naming/Rector/ClassMethod/RenameParamToMatchTypeRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run(Apple $pie)
-+ public function run(Apple $apple)
- {
-- $food = $pie;
-+ $food = $apple;
- }
- }
-```
-
-
-
-### RenamePropertyToMatchTypeRector
-
-Rename property and method param to match its type
-
-- class: [`Rector\Naming\Rector\Class_\RenamePropertyToMatchTypeRector`](../rules/Naming/Rector/Class_/RenamePropertyToMatchTypeRector.php)
-
-```diff
- class SomeClass
- {
- /**
- * @var EntityManager
- */
-- private $eventManager;
-+ private $entityManager;
-
-- public function __construct(EntityManager $eventManager)
-+ public function __construct(EntityManager $entityManager)
- {
-- $this->eventManager = $eventManager;
-+ $this->entityManager = $entityManager;
- }
- }
-```
-
-
-
-### RenameVariableToMatchMethodCallReturnTypeRector
-
-Rename variable to match method return type
-
-- class: [`Rector\Naming\Rector\Assign\RenameVariableToMatchMethodCallReturnTypeRector`](../rules/Naming/Rector/Assign/RenameVariableToMatchMethodCallReturnTypeRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $a = $this->getRunner();
-+ $runner = $this->getRunner();
- }
-
- public function getRunner(): Runner
- {
- return new Runner();
- }
- }
-```
-
-
-
-### RenameVariableToMatchNewTypeRector
-
-Rename variable to match new ClassType
-
-- class: [`Rector\Naming\Rector\ClassMethod\RenameVariableToMatchNewTypeRector`](../rules/Naming/Rector/ClassMethod/RenameVariableToMatchNewTypeRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
-- $search = new DreamSearch();
-- $search->advance();
-+ $dreamSearch = new DreamSearch();
-+ $dreamSearch->advance();
- }
- }
-```
-
-
-
-## Php52
-
-### ContinueToBreakInSwitchRector
-
-Use break instead of continue in switch statements
-
-- class: [`Rector\Php52\Rector\Switch_\ContinueToBreakInSwitchRector`](../rules/Php52/Rector/Switch_/ContinueToBreakInSwitchRector.php)
-
-```diff
- function some_run($value)
- {
- switch ($value) {
- case 1:
- echo 'Hi';
-- continue;
-+ break;
- case 2:
- echo 'Hello';
- break;
- }
- }
-```
-
-
-
-### VarToPublicPropertyRector
-
-Change property modifier from `var` to `public`
-
-- class: [`Rector\Php52\Rector\Property\VarToPublicPropertyRector`](../rules/Php52/Rector/Property/VarToPublicPropertyRector.php)
-
-```diff
- final class SomeController
- {
-- var $name = 'Tom';
-+ public $name = 'Tom';
- }
-```
-
-
-
-## Php53
-
-### DirNameFileConstantToDirConstantRector
-
-Convert dirname(__FILE__) to __DIR__
-
-- class: [`Rector\Php53\Rector\FuncCall\DirNameFileConstantToDirConstantRector`](../rules/Php53/Rector/FuncCall/DirNameFileConstantToDirConstantRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return dirname(__FILE__);
-+ return __DIR__;
- }
- }
-```
-
-
-
-### ReplaceHttpServerVarsByServerRector
-
-Rename old `$HTTP_*` variable names to new replacements
-
-- class: [`Rector\Php53\Rector\Variable\ReplaceHttpServerVarsByServerRector`](../rules/Php53/Rector/Variable/ReplaceHttpServerVarsByServerRector.php)
-
-```diff
--$serverVars = $HTTP_SERVER_VARS;
-+$serverVars = $_SERVER;
-```
-
-
-
-### TernaryToElvisRector
-
-Use ?: instead of ?, where useful
-
-- class: [`Rector\Php53\Rector\Ternary\TernaryToElvisRector`](../rules/Php53/Rector/Ternary/TernaryToElvisRector.php)
-
-```diff
- function elvis()
- {
-- $value = $a ? $a : false;
-+ $value = $a ?: false;
- }
-```
-
-
-
-## Php54
-
-### LongArrayToShortArrayRector
-
-Long array to short array
-
-- class: [`Rector\Php54\Rector\Array_\LongArrayToShortArrayRector`](../rules/Php54/Rector/Array_/LongArrayToShortArrayRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return array();
-+ return [];
- }
- }
-```
-
-
-
-### RemoveReferenceFromCallRector
-
-Remove & from function and method calls
-
-- class: [`Rector\Php54\Rector\FuncCall\RemoveReferenceFromCallRector`](../rules/Php54/Rector/FuncCall/RemoveReferenceFromCallRector.php)
-
-```diff
- final class SomeClass
- {
- public function run($one)
- {
-- return strlen(&$one);
-+ return strlen($one);
- }
- }
-```
-
-
-
-### RemoveZeroBreakContinueRector
-
-Remove 0 from break and continue
-
-- class: [`Rector\Php54\Rector\Break_\RemoveZeroBreakContinueRector`](../rules/Php54/Rector/Break_/RemoveZeroBreakContinueRector.php)
-
-```diff
- class SomeClass
- {
- public function run($random)
- {
-- continue 0;
-- break 0;
-+ continue;
-+ break;
-
- $five = 5;
-- continue $five;
-+ continue 5;
-
-- break $random;
-+ break;
- }
- }
-```
-
-
-
-## Php55
-
-### ClassConstantToSelfClassRector
-
-Change `__CLASS__` to self::class
-
-- class: [`Rector\Php55\Rector\Class_\ClassConstantToSelfClassRector`](../rules/Php55/Rector/Class_/ClassConstantToSelfClassRector.php)
-
-```diff
- class SomeClass
- {
- public function callOnMe()
- {
-- var_dump(__CLASS__);
-+ var_dump(self::class);
- }
- }
-```
-
-
-
-### GetCalledClassToSelfClassRector
-
-Change `get_called_class()` to self::class on final class
-
-- class: [`Rector\Php55\Rector\FuncCall\GetCalledClassToSelfClassRector`](../rules/Php55/Rector/FuncCall/GetCalledClassToSelfClassRector.php)
-
-```diff
- final class SomeClass
- {
- public function callOnMe()
- {
-- var_dump(get_called_class());
-+ var_dump(self::class);
- }
- }
-```
-
-
-
-### GetCalledClassToStaticClassRector
-
-Change `get_called_class()` to static::class on non-final class
-
-- class: [`Rector\Php55\Rector\FuncCall\GetCalledClassToStaticClassRector`](../rules/Php55/Rector/FuncCall/GetCalledClassToStaticClassRector.php)
-
-```diff
- class SomeClass
- {
- public function callOnMe()
- {
-- var_dump(get_called_class());
-+ var_dump(static::class);
- }
- }
-```
-
-
-
-### PregReplaceEModifierRector
-
-The /e modifier is no longer supported, use preg_replace_callback instead
-
-- class: [`Rector\Php55\Rector\FuncCall\PregReplaceEModifierRector`](../rules/Php55/Rector/FuncCall/PregReplaceEModifierRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $comment = preg_replace('~\b(\w)(\w+)~e', '"$1".strtolower("$2")', $comment);
-+ $comment = preg_replace_callback('~\b(\w)(\w+)~', function ($matches) {
-+ return($matches[1].strtolower($matches[2]));
-+ }, $comment);
- }
- }
-```
-
-
-
-### StaticToSelfOnFinalClassRector
-
-Change `static::class` to `self::class` on final class
-
-- class: [`Rector\Php55\Rector\ClassConstFetch\StaticToSelfOnFinalClassRector`](../rules/Php55/Rector/ClassConstFetch/StaticToSelfOnFinalClassRector.php)
-
-```diff
- final class SomeClass
- {
- public function callOnMe()
- {
-- var_dump(static::class);
-+ var_dump(self::class);
- }
- }
-```
-
-
-
-### StringClassNameToClassConstantRector
-
-Replace string class names by ::class constant
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php55\Rector\String_\StringClassNameToClassConstantRector`](../rules/Php55/Rector/String_/StringClassNameToClassConstantRector.php)
-
-```diff
- class AnotherClass
- {
- }
-
- class SomeClass
- {
- public function run()
- {
-- return 'AnotherClass';
-+ return \AnotherClass::class;
- }
- }
-```
-
-
-
-## Php56
-
-### PowToExpRector
-
-Changes pow(val, val2) to ** (exp) parameter
-
-- class: [`Rector\Php56\Rector\FuncCall\PowToExpRector`](../rules/Php56/Rector/FuncCall/PowToExpRector.php)
-
-```diff
--pow(1, 2);
-+1**2;
-```
-
-
-
-## Php70
-
-### BreakNotInLoopOrSwitchToReturnRector
-
-Convert break outside for/foreach/switch context to return
-
-- class: [`Rector\Php70\Rector\Break_\BreakNotInLoopOrSwitchToReturnRector`](../rules/Php70/Rector/Break_/BreakNotInLoopOrSwitchToReturnRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- if ($isphp5)
- return 1;
- else
- return 2;
-- break;
-+ return;
- }
- }
-```
-
-
-
-### CallUserMethodRector
-
-Changes `call_user_method()/call_user_method_array()` to `call_user_func()/call_user_func_array()`
-
-- class: [`Rector\Php70\Rector\FuncCall\CallUserMethodRector`](../rules/Php70/Rector/FuncCall/CallUserMethodRector.php)
-
-```diff
--call_user_method($method, $obj, "arg1", "arg2");
-+call_user_func(array(&$obj, "method"), "arg1", "arg2");
-```
-
-
-
-### EmptyListRector
-
-`list()` cannot be empty
-
-- class: [`Rector\Php70\Rector\List_\EmptyListRector`](../rules/Php70/Rector/List_/EmptyListRector.php)
-
-```diff
--'list() = $values;'
-+'list($unusedGenerated) = $values;'
-```
-
-
-
-### EregToPregMatchRector
-
-Changes ereg*() to preg*() calls
-
-- class: [`Rector\Php70\Rector\FuncCall\EregToPregMatchRector`](../rules/Php70/Rector/FuncCall/EregToPregMatchRector.php)
-
-```diff
--ereg("hi")
-+preg_match("#hi#");
-```
-
-
-
-### ExceptionHandlerTypehintRector
-
-Change typehint from `Exception` to `Throwable`.
-
-- class: [`Rector\Php70\Rector\FunctionLike\ExceptionHandlerTypehintRector`](../rules/Php70/Rector/FunctionLike/ExceptionHandlerTypehintRector.php)
-
-```diff
--function handler(Exception $exception) { ... }
-+function handler(Throwable $exception) { ... }
- set_exception_handler('handler');
-```
-
-
-
-### IfIssetToCoalescingRector
-
-Change if with isset and return to coalesce
-
-- class: [`Rector\Php70\Rector\StmtsAwareInterface\IfIssetToCoalescingRector`](../rules/Php70/Rector/StmtsAwareInterface/IfIssetToCoalescingRector.php)
-
-```diff
- class SomeClass
- {
- private $items = [];
-
- public function resolve($key)
- {
-- if (isset($this->items[$key])) {
-- return $this->items[$key];
-- }
--
-- return 'fallback value';
-+ return $this->items[$key] ?? 'fallback value';
- }
- }
-```
-
-
-
-### IfToSpaceshipRector
-
-Changes if/else to spaceship <=> where useful
-
-- class: [`Rector\Php70\Rector\If_\IfToSpaceshipRector`](../rules/Php70/Rector/If_/IfToSpaceshipRector.php)
-
-```diff
- usort($languages, function ($first, $second) {
--if ($first[0] === $second[0]) {
-- return 0;
--}
--
--return ($first[0] < $second[0]) ? 1 : -1;
-+return $second[0] <=> $first[0];
- });
-```
-
-
-
-### ListSplitStringRector
-
-`list()` cannot split string directly anymore, use `str_split()`
-
-- class: [`Rector\Php70\Rector\Assign\ListSplitStringRector`](../rules/Php70/Rector/Assign/ListSplitStringRector.php)
-
-```diff
--list($foo) = "string";
-+list($foo) = str_split("string");
-```
-
-
-
-### ListSwapArrayOrderRector
-
-`list()` assigns variables in reverse order - relevant in array assign
-
-- class: [`Rector\Php70\Rector\Assign\ListSwapArrayOrderRector`](../rules/Php70/Rector/Assign/ListSwapArrayOrderRector.php)
-
-```diff
--list($a[], $a[]) = [1, 2];
-+list($a[], $a[]) = array_reverse([1, 2]);
-```
-
-
-
-### MultiDirnameRector
-
-Changes multiple `dirname()` calls to one with nesting level
-
-- class: [`Rector\Php70\Rector\FuncCall\MultiDirnameRector`](../rules/Php70/Rector/FuncCall/MultiDirnameRector.php)
-
-```diff
--dirname(dirname($path));
-+dirname($path, 2);
-```
-
-
-
-### Php4ConstructorRector
-
-Changes PHP 4 style constructor to __construct.
-
-- class: [`Rector\Php70\Rector\ClassMethod\Php4ConstructorRector`](../rules/Php70/Rector/ClassMethod/Php4ConstructorRector.php)
-
-```diff
- class SomeClass
- {
-- public function SomeClass()
-+ public function __construct()
- {
- }
- }
-```
-
-
-
-### RandomFunctionRector
-
-Changes rand, srand, and getrandmax to newer alternatives
-
-- class: [`Rector\Php70\Rector\FuncCall\RandomFunctionRector`](../rules/Php70/Rector/FuncCall/RandomFunctionRector.php)
-
-```diff
--rand();
-+random_int();
-```
-
-
-
-### ReduceMultipleDefaultSwitchRector
-
-Remove first default switch, that is ignored
-
-- class: [`Rector\Php70\Rector\Switch_\ReduceMultipleDefaultSwitchRector`](../rules/Php70/Rector/Switch_/ReduceMultipleDefaultSwitchRector.php)
-
-```diff
- switch ($expr) {
- default:
-- echo "Hello World";
--
-- default:
- echo "Goodbye Moon!";
- break;
- }
-```
-
-
-
-### RenameMktimeWithoutArgsToTimeRector
-
-Renames `mktime()` without arguments to `time()`
-
-- class: [`Rector\Php70\Rector\FuncCall\RenameMktimeWithoutArgsToTimeRector`](../rules/Php70/Rector/FuncCall/RenameMktimeWithoutArgsToTimeRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
- $time = mktime(1, 2, 3);
-- $nextTime = mktime();
-+ $nextTime = time();
- }
- }
-```
-
-
-
-### StaticCallOnNonStaticToInstanceCallRector
-
-Changes static call to instance call, where not useful
-
-- class: [`Rector\Php70\Rector\StaticCall\StaticCallOnNonStaticToInstanceCallRector`](../rules/Php70/Rector/StaticCall/StaticCallOnNonStaticToInstanceCallRector.php)
-
-```diff
- class Something
- {
- public function doWork()
- {
- }
- }
-
- class Another
- {
- public function run()
- {
-- return Something::doWork();
-+ return (new Something)->doWork();
- }
- }
-```
-
-
-
-### TernaryToNullCoalescingRector
-
-Changes unneeded null check to ?? operator
-
-- class: [`Rector\Php70\Rector\Ternary\TernaryToNullCoalescingRector`](../rules/Php70/Rector/Ternary/TernaryToNullCoalescingRector.php)
-
-```diff
--$value === null ? 10 : $value;
-+$value ?? 10;
-```
-
-
-
-```diff
--isset($value) ? $value : 10;
-+$value ?? 10;
-```
-
-
-
-### TernaryToSpaceshipRector
-
-Use <=> spaceship instead of ternary with same effect
-
-- class: [`Rector\Php70\Rector\Ternary\TernaryToSpaceshipRector`](../rules/Php70/Rector/Ternary/TernaryToSpaceshipRector.php)
-
-```diff
- function order_func($a, $b) {
-- return ($a < $b) ? -1 : (($a > $b) ? 1 : 0);
-+ return $a <=> $b;
- }
-```
-
-
-
-### ThisCallOnStaticMethodToStaticCallRector
-
-Changes `$this->call()` to static method to static call
-
-- class: [`Rector\Php70\Rector\MethodCall\ThisCallOnStaticMethodToStaticCallRector`](../rules/Php70/Rector/MethodCall/ThisCallOnStaticMethodToStaticCallRector.php)
-
-```diff
- class SomeClass
- {
- public static function run()
- {
-- $this->eat();
-+ static::eat();
- }
-
- public static function eat()
- {
- }
- }
-```
-
-
-
-### WrapVariableVariableNameInCurlyBracesRector
-
-Ensure variable variables are wrapped in curly braces
-
-- class: [`Rector\Php70\Rector\Variable\WrapVariableVariableNameInCurlyBracesRector`](../rules/Php70/Rector/Variable/WrapVariableVariableNameInCurlyBracesRector.php)
-
-```diff
- function run($foo)
- {
-- global $$foo->bar;
-+ global ${$foo->bar};
- }
-```
-
-
-
-## Php71
-
-### AssignArrayToStringRector
-
-String cannot be turned into array by assignment anymore
-
-- class: [`Rector\Php71\Rector\Assign\AssignArrayToStringRector`](../rules/Php71/Rector/Assign/AssignArrayToStringRector.php)
-
-```diff
--$string = '';
-+$string = [];
- $string[] = 1;
-```
-
-
-
-### BinaryOpBetweenNumberAndStringRector
-
-Change binary operation between some number + string to PHP 7.1 compatible version
-
-- class: [`Rector\Php71\Rector\BinaryOp\BinaryOpBetweenNumberAndStringRector`](../rules/Php71/Rector/BinaryOp/BinaryOpBetweenNumberAndStringRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $value = 5 + '';
-- $value = 5.0 + 'hi';
-+ $value = 5 + 0;
-+ $value = 5.0 + 0.0;
- }
- }
-```
-
-
-
-### IsIterableRector
-
-Changes is_array + Traversable check to is_iterable
-
-- class: [`Rector\Php71\Rector\BooleanOr\IsIterableRector`](../rules/Php71/Rector/BooleanOr/IsIterableRector.php)
-
-```diff
--is_array($foo) || $foo instanceof Traversable;
-+is_iterable($foo);
-```
-
-
-
-### ListToArrayDestructRector
-
-Change `list()` to array destruct
-
-- class: [`Rector\Php71\Rector\List_\ListToArrayDestructRector`](../rules/Php71/Rector/List_/ListToArrayDestructRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- list($id1, $name1) = $data;
-+ [$id1, $name1] = $data;
-
-- foreach ($data as list($id, $name)) {
-+ foreach ($data as [$id, $name]) {
- }
- }
- }
-```
-
-
-
-### MultiExceptionCatchRector
-
-Changes multi catch of same exception to single one | separated.
-
-- class: [`Rector\Php71\Rector\TryCatch\MultiExceptionCatchRector`](../rules/Php71/Rector/TryCatch/MultiExceptionCatchRector.php)
-
-```diff
- try {
- // Some code...
--} catch (ExceptionType1 $exception) {
-- $sameCode;
--} catch (ExceptionType2 $exception) {
-+} catch (ExceptionType1 | ExceptionType2 $exception) {
- $sameCode;
- }
-```
-
-
-
-### PublicConstantVisibilityRector
-
-Add explicit public constant visibility.
-
-- class: [`Rector\Php71\Rector\ClassConst\PublicConstantVisibilityRector`](../rules/Php71/Rector/ClassConst/PublicConstantVisibilityRector.php)
-
-```diff
- class SomeClass
- {
-- const HEY = 'you';
-+ public const HEY = 'you';
- }
-```
-
-
-
-### RemoveExtraParametersRector
-
-Remove extra parameters
-
-- class: [`Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector`](../rules/Php71/Rector/FuncCall/RemoveExtraParametersRector.php)
-
-```diff
--strlen("asdf", 1);
-+strlen("asdf");
-```
-
-
-
-## Php72
-
-### CreateFunctionToAnonymousFunctionRector
-
-Use anonymous functions instead of deprecated `create_function()`
-
-- class: [`Rector\Php72\Rector\FuncCall\CreateFunctionToAnonymousFunctionRector`](../rules/Php72/Rector/FuncCall/CreateFunctionToAnonymousFunctionRector.php)
-
-```diff
- class ClassWithCreateFunction
- {
- public function run()
- {
-- $callable = create_function('$matches', "return '$delimiter' . strtolower(\$matches[1]);");
-+ $callable = function($matches) use ($delimiter) {
-+ return $delimiter . strtolower($matches[1]);
-+ };
- }
- }
-```
-
-
-
-### GetClassOnNullRector
-
-Null is no more allowed in `get_class()`
-
-- class: [`Rector\Php72\Rector\FuncCall\GetClassOnNullRector`](../rules/Php72/Rector/FuncCall/GetClassOnNullRector.php)
-
-```diff
- final class SomeClass
- {
- public function getItem()
- {
- $value = null;
-- return get_class($value);
-+ return $value !== null ? get_class($value) : self::class;
- }
- }
-```
-
-
-
-### ListEachRector
-
-`each()` function is deprecated, use `key()` and `current()` instead
-
-- class: [`Rector\Php72\Rector\Assign\ListEachRector`](../rules/Php72/Rector/Assign/ListEachRector.php)
-
-```diff
--list($key, $callback) = each($callbacks);
-+$key = key($callbacks);
-+$callback = current($callbacks);
-+next($callbacks);
-```
-
-
-
-### ParseStrWithResultArgumentRector
-
-Use `$result` argument in `parse_str()` function
-
-- class: [`Rector\Php72\Rector\FuncCall\ParseStrWithResultArgumentRector`](../rules/Php72/Rector/FuncCall/ParseStrWithResultArgumentRector.php)
-
-```diff
--parse_str($this->query);
--$data = get_defined_vars();
-+parse_str($this->query, $result);
-+$data = $result;
-```
-
-
-
-### ReplaceEachAssignmentWithKeyCurrentRector
-
-Replace `each()` assign outside loop
-
-- class: [`Rector\Php72\Rector\Assign\ReplaceEachAssignmentWithKeyCurrentRector`](../rules/Php72/Rector/Assign/ReplaceEachAssignmentWithKeyCurrentRector.php)
-
-```diff
- $array = ['b' => 1, 'a' => 2];
-
--$eachedArray = each($array);
-+$eachedArray[1] = current($array);
-+$eachedArray['value'] = current($array);
-+$eachedArray[0] = key($array);
-+$eachedArray['key'] = key($array);
-+
-+next($array);
-```
-
-
-
-### StringifyDefineRector
-
-Make first argument of `define()` string
-
-- class: [`Rector\Php72\Rector\FuncCall\StringifyDefineRector`](../rules/Php72/Rector/FuncCall/StringifyDefineRector.php)
-
-```diff
- class SomeClass
- {
- public function run(int $a)
- {
-- define(CONSTANT_2, 'value');
-+ define('CONSTANT_2', 'value');
- define('CONSTANT', 'value');
- }
- }
-```
-
-
-
-### StringsAssertNakedRector
-
-String asserts must be passed directly to `assert()`
-
-- class: [`Rector\Php72\Rector\FuncCall\StringsAssertNakedRector`](../rules/Php72/Rector/FuncCall/StringsAssertNakedRector.php)
-
-```diff
- function nakedAssert()
- {
-- assert('true === true');
-- assert("true === true");
-+ assert(true === true);
-+ assert(true === true);
- }
-```
-
-
-
-### UnsetCastRector
-
-Removes (unset) cast
-
-- class: [`Rector\Php72\Rector\Unset_\UnsetCastRector`](../rules/Php72/Rector/Unset_/UnsetCastRector.php)
-
-```diff
--$different = (unset) $value;
-+$different = null;
-
--$value = (unset) $value;
-+unset($value);
-```
-
-
-
-### WhileEachToForeachRector
-
-`each()` function is deprecated, use `foreach()` instead.
-
-- class: [`Rector\Php72\Rector\While_\WhileEachToForeachRector`](../rules/Php72/Rector/While_/WhileEachToForeachRector.php)
-
-```diff
--while (list($key, $callback) = each($callbacks)) {
-+foreach ($callbacks as $key => $callback) {
- // ...
- }
-```
-
-
-
-```diff
--while (list($key) = each($callbacks)) {
-+foreach (array_keys($callbacks) as $key) {
- // ...
- }
-```
-
-
-
-## Php73
-
-### ArrayKeyFirstLastRector
-
-Make use of `array_key_first()` and `array_key_last()`
-
-- class: [`Rector\Php73\Rector\FuncCall\ArrayKeyFirstLastRector`](../rules/Php73/Rector/FuncCall/ArrayKeyFirstLastRector.php)
-
-```diff
--reset($items);
--$firstKey = key($items);
-+$firstKey = array_key_first($items);
-```
-
-
-
-```diff
--end($items);
--$lastKey = key($items);
-+$lastKey = array_key_last($items);
-```
-
-
-
-### IsCountableRector
-
-Changes is_array + Countable check to is_countable
-
-- class: [`Rector\Php73\Rector\BooleanOr\IsCountableRector`](../rules/Php73/Rector/BooleanOr/IsCountableRector.php)
-
-```diff
--is_array($foo) || $foo instanceof Countable;
-+is_countable($foo);
-```
-
-
-
-### JsonThrowOnErrorRector
-
-Adds JSON_THROW_ON_ERROR to `json_encode()` and `json_decode()` to throw JsonException on error
-
-- class: [`Rector\Php73\Rector\FuncCall\JsonThrowOnErrorRector`](../rules/Php73/Rector/FuncCall/JsonThrowOnErrorRector.php)
-
-```diff
--json_encode($content);
--json_decode($json);
-+json_encode($content, JSON_THROW_ON_ERROR);
-+json_decode($json, null, 512, JSON_THROW_ON_ERROR);
-```
-
-
-
-### RegexDashEscapeRector
-
-Escape - in some cases
-
-- class: [`Rector\Php73\Rector\FuncCall\RegexDashEscapeRector`](../rules/Php73/Rector/FuncCall/RegexDashEscapeRector.php)
-
-```diff
--preg_match("#[\w-()]#", 'some text');
-+preg_match("#[\w\-()]#", 'some text');
-```
-
-
-
-### SensitiveConstantNameRector
-
-Changes case insensitive constants to sensitive ones.
-
-- class: [`Rector\Php73\Rector\ConstFetch\SensitiveConstantNameRector`](../rules/Php73/Rector/ConstFetch/SensitiveConstantNameRector.php)
-
-```diff
- define('FOO', 42, true);
- var_dump(FOO);
--var_dump(foo);
-+var_dump(FOO);
-```
-
-
-
-### SensitiveDefineRector
-
-Changes case insensitive constants to sensitive ones.
-
-- class: [`Rector\Php73\Rector\FuncCall\SensitiveDefineRector`](../rules/Php73/Rector/FuncCall/SensitiveDefineRector.php)
-
-```diff
--define('FOO', 42, true);
-+define('FOO', 42);
-```
-
-
-
-### SensitiveHereNowDocRector
-
-Changes heredoc/nowdoc that contains closing word to safe wrapper name
-
-- class: [`Rector\Php73\Rector\String_\SensitiveHereNowDocRector`](../rules/Php73/Rector/String_/SensitiveHereNowDocRector.php)
-
-```diff
--$value = <<
-
-### SetCookieRector
-
-Convert setcookie argument to PHP7.3 option array
-
-- class: [`Rector\Php73\Rector\FuncCall\SetCookieRector`](../rules/Php73/Rector/FuncCall/SetCookieRector.php)
-
-```diff
--setcookie('name', $value, 360);
-+setcookie('name', $value, ['expires' => 360]);
-```
-
-
-
-```diff
--setcookie('name', $name, 0, '', '', true, true);
-+setcookie('name', $name, ['expires' => 0, 'path' => '', 'domain' => '', 'secure' => true, 'httponly' => true]);
-```
-
-
-
-### StringifyStrNeedlesRector
-
-Makes needles explicit strings
-
-- class: [`Rector\Php73\Rector\FuncCall\StringifyStrNeedlesRector`](../rules/Php73/Rector/FuncCall/StringifyStrNeedlesRector.php)
-
-```diff
- $needle = 5;
--$fivePosition = strpos('725', $needle);
-+$fivePosition = strpos('725', (string) $needle);
-```
-
-
-
-## Php74
-
-### AddLiteralSeparatorToNumberRector
-
-Add "_" as thousands separator in numbers for higher or equals to limitValue config
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php74\Rector\LNumber\AddLiteralSeparatorToNumberRector`](../rules/Php74/Rector/LNumber/AddLiteralSeparatorToNumberRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $int = 500000;
-- $float = 1000500.001;
-+ $int = 500_000;
-+ $float = 1_000_500.001;
- }
- }
-```
-
-
-
-### ArrayKeyExistsOnPropertyRector
-
-Change `array_key_exists()` on property to `property_exists()`
-
-- class: [`Rector\Php74\Rector\FuncCall\ArrayKeyExistsOnPropertyRector`](../rules/Php74/Rector/FuncCall/ArrayKeyExistsOnPropertyRector.php)
-
-```diff
- class SomeClass
- {
- public $value;
- }
- $someClass = new SomeClass;
-
--array_key_exists('value', $someClass);
-+property_exists($someClass, 'value');
-```
-
-
-
-### ClosureToArrowFunctionRector
-
-Change closure to arrow function
-
-- class: [`Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector`](../rules/Php74/Rector/Closure/ClosureToArrowFunctionRector.php)
-
-```diff
- class SomeClass
- {
- public function run($meetups)
- {
-- return array_filter($meetups, function (Meetup $meetup) {
-- return is_object($meetup);
-- });
-+ return array_filter($meetups, fn(Meetup $meetup) => is_object($meetup));
- }
- }
-```
-
-
-
-### CurlyToSquareBracketArrayStringRector
-
-Change curly based array and string to square bracket
-
-- class: [`Rector\Php74\Rector\ArrayDimFetch\CurlyToSquareBracketArrayStringRector`](../rules/Php74/Rector/ArrayDimFetch/CurlyToSquareBracketArrayStringRector.php)
-
-```diff
- $string = 'test';
--echo $string{0};
-+echo $string[0];
-
- $array = ['test'];
--echo $array{0};
-+echo $array[0];
-```
-
-
-
-### ExportToReflectionFunctionRector
-
-Change `export()` to ReflectionFunction alternatives
-
-- class: [`Rector\Php74\Rector\StaticCall\ExportToReflectionFunctionRector`](../rules/Php74/Rector/StaticCall/ExportToReflectionFunctionRector.php)
-
-```diff
--$reflectionFunction = ReflectionFunction::export('foo');
--$reflectionFunctionAsString = ReflectionFunction::export('foo', true);
-+$reflectionFunction = new ReflectionFunction('foo');
-+$reflectionFunctionAsString = (string) new ReflectionFunction('foo');
-```
-
-
-
-### FilterVarToAddSlashesRector
-
-Change `filter_var()` with slash escaping to `addslashes()`
-
-- class: [`Rector\Php74\Rector\FuncCall\FilterVarToAddSlashesRector`](../rules/Php74/Rector/FuncCall/FilterVarToAddSlashesRector.php)
-
-```diff
- $var= "Satya's here!";
--filter_var($var, FILTER_SANITIZE_MAGIC_QUOTES);
-+addslashes($var);
-```
-
-
-
-### HebrevcToNl2brHebrevRector
-
-Change hebrevc($str) to nl2br(hebrev($str))
-
-- class: [`Rector\Php74\Rector\FuncCall\HebrevcToNl2brHebrevRector`](../rules/Php74/Rector/FuncCall/HebrevcToNl2brHebrevRector.php)
-
-```diff
--hebrevc($str);
-+nl2br(hebrev($str));
-```
-
-
-
-### MbStrrposEncodingArgumentPositionRector
-
-Change `mb_strrpos()` encoding argument position
-
-- class: [`Rector\Php74\Rector\FuncCall\MbStrrposEncodingArgumentPositionRector`](../rules/Php74/Rector/FuncCall/MbStrrposEncodingArgumentPositionRector.php)
-
-```diff
--mb_strrpos($text, "abc", "UTF-8");
-+mb_strrpos($text, "abc", 0, "UTF-8");
-```
-
-
-
-### MoneyFormatToNumberFormatRector
-
-Change `money_format()` to equivalent `number_format()`
-
-- class: [`Rector\Php74\Rector\FuncCall\MoneyFormatToNumberFormatRector`](../rules/Php74/Rector/FuncCall/MoneyFormatToNumberFormatRector.php)
-
-```diff
--$value = money_format('%i', $value);
-+$value = number_format(round($value, 2, PHP_ROUND_HALF_ODD), 2, '.', '');
-```
-
-
-
-### NullCoalescingOperatorRector
-
-Use null coalescing operator ??=
-
-- class: [`Rector\Php74\Rector\Assign\NullCoalescingOperatorRector`](../rules/Php74/Rector/Assign/NullCoalescingOperatorRector.php)
-
-```diff
- $array = [];
--$array['user_id'] = $array['user_id'] ?? 'value';
-+$array['user_id'] ??= 'value';
-```
-
-
-
-### ParenthesizeNestedTernaryRector
-
-Add parentheses to nested ternary
-
-- class: [`Rector\Php74\Rector\Ternary\ParenthesizeNestedTernaryRector`](../rules/Php74/Rector/Ternary/ParenthesizeNestedTernaryRector.php)
-
-```diff
--$value = $a ? $b : $a ?: null;
-+$value = ($a ? $b : $a) ?: null;
-```
-
-
-
-### RealToFloatTypeCastRector
-
-Change deprecated (real) to (float)
-
-- class: [`Rector\Php74\Rector\Double\RealToFloatTypeCastRector`](../rules/Php74/Rector/Double/RealToFloatTypeCastRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $number = (real) 5;
-+ $number = (float) 5;
- $number = (float) 5;
- $number = (double) 5;
- }
- }
-```
-
-
-
-### RestoreDefaultNullToNullableTypePropertyRector
-
-Add null default to properties with PHP 7.4 property nullable type
-
-- class: [`Rector\Php74\Rector\Property\RestoreDefaultNullToNullableTypePropertyRector`](../rules/Php74/Rector/Property/RestoreDefaultNullToNullableTypePropertyRector.php)
-
-```diff
- class SomeClass
- {
-- public ?string $name;
-+ public ?string $name = null;
- }
-```
-
-
-
-### RestoreIncludePathToIniRestoreRector
-
-Change `restore_include_path()` to ini_restore("include_path")
-
-- class: [`Rector\Php74\Rector\FuncCall\RestoreIncludePathToIniRestoreRector`](../rules/Php74/Rector/FuncCall/RestoreIncludePathToIniRestoreRector.php)
-
-```diff
--restore_include_path();
-+ini_restore('include_path');
-```
-
-
-
-## Php80
-
-### AddParamBasedOnParentClassMethodRector
-
-Add missing parameter based on parent class method
-
-- class: [`Rector\Php80\Rector\ClassMethod\AddParamBasedOnParentClassMethodRector`](../rules/Php80/Rector/ClassMethod/AddParamBasedOnParentClassMethodRector.php)
-
-```diff
- class A
- {
- public function execute($foo)
- {
- }
- }
-
- class B extends A{
-- public function execute()
-+ public function execute($foo)
- {
- }
- }
-```
-
-
-
-### AnnotationToAttributeRector
-
-Change annotation to attribute
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php80\Rector\Class_\AnnotationToAttributeRector`](../rules/Php80/Rector/Class_/AnnotationToAttributeRector.php)
-
-```diff
- use Symfony\Component\Routing\Annotation\Route;
-
- class SymfonyRoute
- {
-- /**
-- * @Route("/path", name="action") api route
-- */
-+ #[Route(path: '/path', name: 'action')] // api route
- public function action()
- {
- }
- }
-```
-
-
-
-### ChangeSwitchToMatchRector
-
-Change `switch()` to `match()`
-
-- class: [`Rector\Php80\Rector\Switch_\ChangeSwitchToMatchRector`](../rules/Php80/Rector/Switch_/ChangeSwitchToMatchRector.php)
-
-```diff
--switch ($input) {
-- case Lexer::T_SELECT:
-- $statement = 'select';
-- break;
-- case Lexer::T_UPDATE:
-- $statement = 'update';
-- break;
-- default:
-- $statement = 'error';
--}
-+$statement = match ($input) {
-+ Lexer::T_SELECT => 'select',
-+ Lexer::T_UPDATE => 'update',
-+ default => 'error',
-+};
-```
-
-
-
-### ClassOnObjectRector
-
-Change get_class($object) to faster `$object::class`
-
-- class: [`Rector\Php80\Rector\FuncCall\ClassOnObjectRector`](../rules/Php80/Rector/FuncCall/ClassOnObjectRector.php)
-
-```diff
- class SomeClass
- {
- public function run($object)
- {
-- return get_class($object);
-+ return $object::class;
- }
- }
-```
-
-
-
-### ClassOnThisVariableObjectRector
-
-Change `$this::class` to static::class or self::class depends on class modifier
-
-- class: [`Rector\Php80\Rector\ClassConstFetch\ClassOnThisVariableObjectRector`](../rules/Php80/Rector/ClassConstFetch/ClassOnThisVariableObjectRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return $this::class;
-+ return static::class;
- }
- }
-```
-
-
-
-### ClassPropertyAssignToConstructorPromotionRector
-
-Change simple property init and assign to constructor promotion
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector`](../rules/Php80/Rector/Class_/ClassPropertyAssignToConstructorPromotionRector.php)
-
-```diff
- class SomeClass
- {
-- public float $price;
--
- public function __construct(
-- float $price = 0.0
-+ public float $price = 0.0
- ) {
-- $this->price = $price;
- }
- }
-```
-
-
-
-### FinalPrivateToPrivateVisibilityRector
-
-Changes method visibility from final private to only private
-
-- class: [`Rector\Php80\Rector\ClassMethod\FinalPrivateToPrivateVisibilityRector`](../rules/Php80/Rector/ClassMethod/FinalPrivateToPrivateVisibilityRector.php)
-
-```diff
- class SomeClass
- {
-- final private function getter() {
-+ private function getter() {
- return $this;
- }
- }
-```
-
-
-
-### GetDebugTypeRector
-
-Change ternary type resolve to `get_debug_type()`
-
-- class: [`Rector\Php80\Rector\Ternary\GetDebugTypeRector`](../rules/Php80/Rector/Ternary/GetDebugTypeRector.php)
-
-```diff
- class SomeClass
- {
- public function run($value)
- {
-- return is_object($value) ? get_class($value) : gettype($value);
-+ return get_debug_type($value);
- }
- }
-```
-
-
-
-### MixedTypeRector
-
-Change mixed docs type to mixed typed
-
-- class: [`Rector\Php80\Rector\FunctionLike\MixedTypeRector`](../rules/Php80/Rector/FunctionLike/MixedTypeRector.php)
-
-```diff
- class SomeClass
- {
-- /**
-- * @param mixed $param
-- */
-- public function run($param)
-+ public function run(mixed $param)
- {
- }
- }
-```
-
-
-
-### NestedAnnotationToAttributeRector
-
-Changed nested annotations to attributes
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php80\Rector\Property\NestedAnnotationToAttributeRector`](../rules/Php80/Rector/Property/NestedAnnotationToAttributeRector.php)
-
-```diff
- use Doctrine\ORM\Mapping as ORM;
-
- class SomeEntity
- {
-- /**
-- * @ORM\JoinTable(name="join_table_name",
-- * joinColumns={@ORM\JoinColumn(name="origin_id")},
-- * inverseJoinColumns={@ORM\JoinColumn(name="target_id")}
-- * )
-- */
-+ #[ORM\JoinTable(name: 'join_table_name')]
-+ #[ORM\JoinColumn(name: 'origin_id')]
-+ #[ORM\InverseJoinColumn(name: 'target_id')]
- private $collection;
- }
-```
-
-
-
-### RemoveUnusedVariableInCatchRector
-
-Remove unused variable in `catch()`
-
-- class: [`Rector\Php80\Rector\Catch_\RemoveUnusedVariableInCatchRector`](../rules/Php80/Rector/Catch_/RemoveUnusedVariableInCatchRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
- try {
-- } catch (Throwable $notUsedThrowable) {
-+ } catch (Throwable) {
- }
- }
- }
-```
-
-
-
-### SetStateToStaticRector
-
-Adds static visibility to `__set_state()` methods
-
-- class: [`Rector\Php80\Rector\ClassMethod\SetStateToStaticRector`](../rules/Php80/Rector/ClassMethod/SetStateToStaticRector.php)
-
-```diff
- class SomeClass
- {
-- public function __set_state($properties) {
-+ public static function __set_state($properties) {
-
- }
- }
-```
-
-
-
-### StrContainsRector
-
-Replace `strpos()` !== false and `strstr()` with `str_contains()`
-
-- class: [`Rector\Php80\Rector\NotIdentical\StrContainsRector`](../rules/Php80/Rector/NotIdentical/StrContainsRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return strpos('abc', 'a') !== false;
-+ return str_contains('abc', 'a');
- }
- }
-```
-
-
-
-### StrEndsWithRector
-
-Change helper functions to `str_ends_with()`
-
-- class: [`Rector\Php80\Rector\Identical\StrEndsWithRector`](../rules/Php80/Rector/Identical/StrEndsWithRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $isMatch = substr($haystack, -strlen($needle)) === $needle;
-+ $isMatch = str_ends_with($haystack, $needle);
-
-- $isNotMatch = substr($haystack, -strlen($needle)) !== $needle;
-+ $isNotMatch = !str_ends_with($haystack, $needle);
- }
- }
-```
-
-
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $isMatch = substr($haystack, -9) === 'hardcoded;
-+ $isMatch = str_ends_with($haystack, 'hardcoded');
-
-- $isNotMatch = substr($haystack, -9) !== 'hardcoded';
-+ $isNotMatch = !str_ends_with($haystack, 'hardcoded');
- }
- }
-```
-
-
-
-### StrStartsWithRector
-
-Change helper functions to `str_starts_with()`
-
-- class: [`Rector\Php80\Rector\Identical\StrStartsWithRector`](../rules/Php80/Rector/Identical/StrStartsWithRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $isMatch = substr($haystack, 0, strlen($needle)) === $needle;
-+ $isMatch = str_starts_with($haystack, $needle);
-
-- $isNotMatch = substr($haystack, 0, strlen($needle)) !== $needle;
-+ $isNotMatch = ! str_starts_with($haystack, $needle);
- }
- }
-```
-
-
-
-### StringableForToStringRector
-
-Add `Stringable` interface to classes with `__toString()` method
-
-- class: [`Rector\Php80\Rector\Class_\StringableForToStringRector`](../rules/Php80/Rector/Class_/StringableForToStringRector.php)
-
-```diff
--class SomeClass
-+class SomeClass implements Stringable
- {
-- public function __toString()
-+ public function __toString(): string
- {
- return 'I can stringz';
- }
- }
-```
-
-
-
-## Php81
-
-### FirstClassCallableRector
-
-Upgrade array callable to first class callable
-
-- class: [`Rector\Php81\Rector\Array_\FirstClassCallableRector`](../rules/Php81/Rector/Array_/FirstClassCallableRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
-- $name = [$this, 'name'];
-+ $name = $this->name(...);
- }
-
- public function name()
- {
- }
- }
-```
-
-
-
-### MyCLabsClassToEnumRector
-
-Refactor MyCLabs enum class to native Enum
-
-- class: [`Rector\Php81\Rector\Class_\MyCLabsClassToEnumRector`](../rules/Php81/Rector/Class_/MyCLabsClassToEnumRector.php)
-
-```diff
--use MyCLabs\Enum\Enum;
--
--final class Action extends Enum
-+enum Action : string
- {
-- private const VIEW = 'view';
-- private const EDIT = 'edit';
-+ case VIEW = 'view';
-+ case EDIT = 'edit';
- }
-```
-
-
-
-### MyCLabsMethodCallToEnumConstRector
-
-Refactor MyCLabs enum fetch to Enum const
-
-- class: [`Rector\Php81\Rector\MethodCall\MyCLabsMethodCallToEnumConstRector`](../rules/Php81/Rector/MethodCall/MyCLabsMethodCallToEnumConstRector.php)
-
-```diff
--$name = SomeEnum::VALUE()->getKey();
-+$name = SomeEnum::VALUE;
-```
-
-
-
-### NewInInitializerRector
-
-Replace property declaration of new state with direct new
-
-- class: [`Rector\Php81\Rector\ClassMethod\NewInInitializerRector`](../rules/Php81/Rector/ClassMethod/NewInInitializerRector.php)
-
-```diff
- class SomeClass
- {
-- private Logger $logger;
--
- public function __construct(
-- ?Logger $logger = null,
-+ private Logger $logger = new NullLogger,
- ) {
-- $this->logger = $logger ?? new NullLogger;
- }
- }
-```
-
-
-
-### NullToStrictStringFuncCallArgRector
-
-Change null to strict string defined function call args
-
-- class: [`Rector\Php81\Rector\FuncCall\NullToStrictStringFuncCallArgRector`](../rules/Php81/Rector/FuncCall/NullToStrictStringFuncCallArgRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- preg_split("#a#", null);
-+ preg_split("#a#", '');
- }
- }
-```
-
-
-
-### ReadOnlyPropertyRector
-
-Decorate read-only property with `readonly` attribute
-
-- class: [`Rector\Php81\Rector\Property\ReadOnlyPropertyRector`](../rules/Php81/Rector/Property/ReadOnlyPropertyRector.php)
-
-```diff
- class SomeClass
- {
- public function __construct(
-- private string $name
-+ private readonly string $name
- ) {
- }
-
- public function getName()
- {
- return $this->name;
- }
- }
-```
-
-
-
-### SpatieEnumClassToEnumRector
-
-Refactor Spatie enum class to native Enum
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php81\Rector\Class_\SpatieEnumClassToEnumRector`](../rules/Php81/Rector/Class_/SpatieEnumClassToEnumRector.php)
-
-```diff
--use \Spatie\Enum\Enum;
--
--/**
-- * @method static self draft()
-- * @method static self published()
-- * @method static self archived()
-- */
--class StatusEnum extends Enum
-+enum StatusEnum : string
- {
-+ case DRAFT = 'draft';
-+ case PUBLISHED = 'published';
-+ case ARCHIVED = 'archived';
- }
-```
-
-
-
-### SpatieEnumMethodCallToEnumConstRector
-
-Refactor Spatie enum method calls
-
-- class: [`Rector\Php81\Rector\MethodCall\SpatieEnumMethodCallToEnumConstRector`](../rules/Php81/Rector/MethodCall/SpatieEnumMethodCallToEnumConstRector.php)
-
-```diff
--$value1 = SomeEnum::SOME_CONSTANT()->getValue();
--$value2 = SomeEnum::SOME_CONSTANT()->value;
--$name1 = SomeEnum::SOME_CONSTANT()->getName();
--$name2 = SomeEnum::SOME_CONSTANT()->name;
-+$value1 = SomeEnum::SOME_CONSTANT->value;
-+$value2 = SomeEnum::SOME_CONSTANT->value;
-+$name1 = SomeEnum::SOME_CONSTANT->name;
-+$name2 = SomeEnum::SOME_CONSTANT->name;
-```
-
-
-
-## Php82
-
-### AddSensitiveParameterAttributeRector
-
-Add SensitiveParameter attribute to method and function configured parameters
-
-:wrench: **configure it!**
-
-- class: [`Rector\Php82\Rector\Param\AddSensitiveParameterAttributeRector`](../rules/Php82/Rector/Param/AddSensitiveParameterAttributeRector.php)
-
-```diff
- class SomeClass
- {
-- public function run(string $password)
-+ public function run(#[\SensitiveParameter] string $password)
- {
- }
- }
-```
-
-
-
-### FilesystemIteratorSkipDotsRector
-
-Prior PHP 8.2 FilesystemIterator::SKIP_DOTS was always set and could not be removed, therefore FilesystemIterator::SKIP_DOTS is added in order to keep this behaviour.
-
-- class: [`Rector\Php82\Rector\New_\FilesystemIteratorSkipDotsRector`](../rules/Php82/Rector/New_/FilesystemIteratorSkipDotsRector.php)
-
-```diff
--new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME);
-+new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::SKIP_DOTS);
-```
-
-
-
-### ReadOnlyClassRector
-
-Decorate read-only class with `readonly` attribute
-
-- class: [`Rector\Php82\Rector\Class_\ReadOnlyClassRector`](../rules/Php82/Rector/Class_/ReadOnlyClassRector.php)
-
-```diff
--final class SomeClass
-+final readonly class SomeClass
- {
- public function __construct(
-- private readonly string $name
-+ private string $name
- ) {
- }
- }
-```
-
-
-
-### Utf8DecodeEncodeToMbConvertEncodingRector
-
-Change deprecated utf8_decode and utf8_encode to mb_convert_encoding
-
-- class: [`Rector\Php82\Rector\FuncCall\Utf8DecodeEncodeToMbConvertEncodingRector`](../rules/Php82/Rector/FuncCall/Utf8DecodeEncodeToMbConvertEncodingRector.php)
-
-```diff
--utf8_decode($value);
--utf8_encode($value);
-+mb_convert_encoding($value, 'ISO-8859-1');
-+mb_convert_encoding($value, 'UTF-8', 'ISO-8859-1');
-```
-
-
-
-### VariableInStringInterpolationFixerRector
-
-Replace deprecated "${var}" to "{$var}"
-
-- class: [`Rector\Php82\Rector\Encapsed\VariableInStringInterpolationFixerRector`](../rules/Php82/Rector/Encapsed/VariableInStringInterpolationFixerRector.php)
-
-```diff
- $c = "football";
--echo "I like playing ${c}";
-+echo "I like playing {$c}";
-```
-
-
-
-## Php83
-
-### AddOverrideAttributeToOverriddenMethodsRector
-
-Add override attribute to overridden methods
-
-- class: [`Rector\Php83\Rector\ClassMethod\AddOverrideAttributeToOverriddenMethodsRector`](../rules/Php83/Rector/ClassMethod/AddOverrideAttributeToOverriddenMethodsRector.php)
-
-```diff
- class ParentClass
- {
- public function foo()
- {
- }
- }
-
- class ChildClass extends ParentClass
- {
-+ #[\Override]
- public function foo()
- {
- }
- }
-```
-
-
-
-### AddTypeToConstRector
-
-Add type to constants based on their value
-
-- class: [`Rector\Php83\Rector\ClassConst\AddTypeToConstRector`](../rules/Php83/Rector/ClassConst/AddTypeToConstRector.php)
-
-```diff
- final class SomeClass
- {
-- public const TYPE = 'some_type';
-+ public const string TYPE = 'some_type';
- }
-```
-
-
-
-### CombineHostPortLdapUriRector
-
-Combine separated host and port on `ldap_connect()` args
-
-- class: [`Rector\Php83\Rector\FuncCall\CombineHostPortLdapUriRector`](../rules/Php83/Rector/FuncCall/CombineHostPortLdapUriRector.php)
-
-```diff
--ldap_connect('ldap://ldap.example.com', 389);
-+ldap_connect('ldap://ldap.example.com:389');
-```
-
-
-
-## Php84
-
-### ExplicitNullableParamTypeRector
-
-Make implicit nullable param to explicit
-
-- class: [`Rector\Php84\Rector\Param\ExplicitNullableParamTypeRector`](../rules/Php84/Rector/Param/ExplicitNullableParamTypeRector.php)
-
-```diff
--function foo(string $param = null) {}
-+function foo(?string $param = null) {}
-```
-
-
-
-## Privatization
-
-### FinalizeTestCaseClassRector
-
-PHPUnit test case will be finalized
-
-- class: [`Rector\Privatization\Rector\Class_\FinalizeTestCaseClassRector`](../rules/Privatization/Rector/Class_/FinalizeTestCaseClassRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
--class SomeClass extends TestCase
-+final class SomeClass extends TestCase
- {
- }
-```
-
-
-
-### PrivatizeFinalClassMethodRector
-
-Change protected class method to private if possible
-
-- class: [`Rector\Privatization\Rector\ClassMethod\PrivatizeFinalClassMethodRector`](../rules/Privatization/Rector/ClassMethod/PrivatizeFinalClassMethodRector.php)
-
-```diff
- final class SomeClass
- {
-- protected function someMethod()
-+ private function someMethod()
- {
- }
- }
-```
-
-
-
-### PrivatizeFinalClassPropertyRector
-
-Change property to private if possible
-
-- class: [`Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector`](../rules/Privatization/Rector/Property/PrivatizeFinalClassPropertyRector.php)
-
-```diff
- final class SomeClass
- {
-- protected $value;
-+ private $value;
- }
-```
-
-
-
-### PrivatizeLocalGetterToPropertyRector
-
-Privatize getter of local property to property
-
-- class: [`Rector\Privatization\Rector\MethodCall\PrivatizeLocalGetterToPropertyRector`](../rules/Privatization/Rector/MethodCall/PrivatizeLocalGetterToPropertyRector.php)
-
-```diff
- class SomeClass
- {
- private $some;
-
- public function run()
- {
-- return $this->getSome() + 5;
-+ return $this->some + 5;
- }
-
- private function getSome()
- {
- return $this->some;
- }
- }
-```
-
-
-
-## Removing
-
-### ArgumentRemoverRector
-
-Removes defined arguments in defined methods and their calls.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Removing\Rector\ClassMethod\ArgumentRemoverRector`](../rules/Removing/Rector/ClassMethod/ArgumentRemoverRector.php)
-
-```diff
- $someObject = new SomeClass;
--$someObject->someMethod(true);
-+$someObject->someMethod();
-```
-
-
-
-### RemoveFuncCallArgRector
-
-Remove argument by position by function name
-
-:wrench: **configure it!**
-
-- class: [`Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector`](../rules/Removing/Rector/FuncCall/RemoveFuncCallArgRector.php)
-
-```diff
--remove_last_arg(1, 2);
-+remove_last_arg(1);
-```
-
-
-
-### RemoveFuncCallRector
-
-Remove function
-
-:wrench: **configure it!**
-
-- class: [`Rector\Removing\Rector\FuncCall\RemoveFuncCallRector`](../rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php)
-
-```diff
--$x = 'something';
--var_dump($x);
-+$x = 'something';
-```
-
-
-
-### RemoveInterfacesRector
-
-Removes interfaces usage from class.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Removing\Rector\Class_\RemoveInterfacesRector`](../rules/Removing/Rector/Class_/RemoveInterfacesRector.php)
-
-```diff
--class SomeClass implements SomeInterface
-+class SomeClass
- {
- }
-```
-
-
-
-### RemoveTraitUseRector
-
-Remove specific traits from code
-
-:wrench: **configure it!**
-
-- class: [`Rector\Removing\Rector\Class_\RemoveTraitUseRector`](../rules/Removing/Rector/Class_/RemoveTraitUseRector.php)
-
-```diff
- class SomeClass
- {
-- use SomeTrait;
- }
-```
-
-
-
-## Renaming
-
-### RenameAnnotationRector
-
-Turns defined annotations above properties and methods to their new values.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\ClassMethod\RenameAnnotationRector`](../rules/Renaming/Rector/ClassMethod/RenameAnnotationRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
- final class SomeTest extends TestCase
- {
- /**
-- * @test
-+ * @scenario
- */
- public function someMethod()
- {
- }
- }
-```
-
-
-
-### RenameAttributeRector
-
-Rename attribute class names
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\Class_\RenameAttributeRector`](../rules/Renaming/Rector/Class_/RenameAttributeRector.php)
-
-```diff
--#[SimpleRoute()]
-+#[BasicRoute()]
- class SomeClass
- {
- }
-```
-
-
-
-### RenameClassConstFetchRector
-
-Replaces defined class constants in their calls.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\ClassConstFetch\RenameClassConstFetchRector`](../rules/Renaming/Rector/ClassConstFetch/RenameClassConstFetchRector.php)
-
-```diff
--$value = SomeClass::OLD_CONSTANT;
--$value = SomeClass::OTHER_OLD_CONSTANT;
-+$value = SomeClass::NEW_CONSTANT;
-+$value = DifferentClass::NEW_CONSTANT;
-```
-
-
-
-### RenameClassRector
-
-Replaces defined classes by new ones.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\Name\RenameClassRector`](../rules/Renaming/Rector/Name/RenameClassRector.php)
-
-```diff
- namespace App;
-
--use SomeOldClass;
-+use SomeNewClass;
-
--function someFunction(SomeOldClass $someOldClass): SomeOldClass
-+function someFunction(SomeNewClass $someOldClass): SomeNewClass
- {
-- if ($someOldClass instanceof SomeOldClass) {
-- return new SomeOldClass;
-+ if ($someOldClass instanceof SomeNewClass) {
-+ return new SomeNewClass;
- }
- }
-```
-
-
-
-### RenameConstantRector
-
-Replace constant by new ones
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\ConstFetch\RenameConstantRector`](../rules/Renaming/Rector/ConstFetch/RenameConstantRector.php)
-
-```diff
- final class SomeClass
- {
- public function run()
- {
-- return MYSQL_ASSOC;
-+ return MYSQLI_ASSOC;
- }
- }
-```
-
-
-
-### RenameFunctionLikeParamWithinCallLikeArgRector
-
-Rename param within closures and arrow functions based on use with specified method calls
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\FunctionLike\RenameFunctionLikeParamWithinCallLikeArgRector`](../rules/Renaming/Rector/FunctionLike/RenameFunctionLikeParamWithinCallLikeArgRector.php)
-
-```diff
--(new SomeClass)->process(function ($param) {});
-+(new SomeClass)->process(function ($parameter) {});
-```
-
-
-
-### RenameFunctionRector
-
-Turns defined function call new one.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\FuncCall\RenameFunctionRector`](../rules/Renaming/Rector/FuncCall/RenameFunctionRector.php)
-
-```diff
--view("...", []);
-+Laravel\Templating\render("...", []);
-```
-
-
-
-### RenameMethodRector
-
-Turns method names to new ones.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\MethodCall\RenameMethodRector`](../rules/Renaming/Rector/MethodCall/RenameMethodRector.php)
-
-```diff
- $someObject = new SomeExampleClass;
--$someObject->oldMethod();
-+$someObject->newMethod();
-```
-
-
-
-### RenamePropertyRector
-
-Replaces defined old properties by new ones.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\PropertyFetch\RenamePropertyRector`](../rules/Renaming/Rector/PropertyFetch/RenamePropertyRector.php)
-
-```diff
--$someObject->someOldProperty;
-+$someObject->someNewProperty;
-```
-
-
-
-### RenameStaticMethodRector
-
-Turns method names to new ones.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\StaticCall\RenameStaticMethodRector`](../rules/Renaming/Rector/StaticCall/RenameStaticMethodRector.php)
-
-```diff
--SomeClass::oldStaticMethod();
-+AnotherExampleClass::newStaticMethod();
-```
-
-
-
-### RenameStringRector
-
-Change string value
-
-:wrench: **configure it!**
-
-- class: [`Rector\Renaming\Rector\String_\RenameStringRector`](../rules/Renaming/Rector/String_/RenameStringRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- return 'ROLE_PREVIOUS_ADMIN';
-+ return 'IS_IMPERSONATOR';
- }
- }
-```
-
-
-
-## Strict
-
-### BooleanInBooleanNotRuleFixerRector
-
-Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditions\BooleanInBooleanNotRule"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Strict\Rector\BooleanNot\BooleanInBooleanNotRuleFixerRector`](../rules/Strict/Rector/BooleanNot/BooleanInBooleanNotRuleFixerRector.php)
-
-```diff
- class SomeClass
- {
- public function run(string|null $name)
- {
-- if (! $name) {
-+ if ($name === null) {
- return 'no name';
- }
-
- return 'name';
- }
- }
-```
-
-
-
-### BooleanInIfConditionRuleFixerRector
-
-Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditions\BooleanInIfConditionRule"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector`](../rules/Strict/Rector/If_/BooleanInIfConditionRuleFixerRector.php)
-
-```diff
- final class NegatedString
- {
- public function run(string $name)
- {
-- if ($name) {
-+ if ($name !== '') {
- return 'name';
- }
-
- return 'no name';
- }
- }
-```
-
-
-
-### BooleanInTernaryOperatorRuleFixerRector
-
-Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditions\BooleanInTernaryOperatorRule"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Strict\Rector\Ternary\BooleanInTernaryOperatorRuleFixerRector`](../rules/Strict/Rector/Ternary/BooleanInTernaryOperatorRuleFixerRector.php)
-
-```diff
- final class ArrayCompare
- {
- public function run(array $data)
- {
-- return $data ? 1 : 2;
-+ return $data !== [] ? 1 : 2;
- }
- }
-```
-
-
-
-### DisallowedEmptyRuleFixerRector
-
-Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\DisallowedConstructs\DisallowedEmptyRule"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector`](../rules/Strict/Rector/Empty_/DisallowedEmptyRuleFixerRector.php)
-
-```diff
- final class SomeEmptyArray
- {
- public function run(array $items)
- {
-- return empty($items);
-+ return $items === [];
- }
- }
-```
-
-
-
-### DisallowedShortTernaryRuleFixerRector
-
-Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\DisallowedConstructs\DisallowedShortTernaryRule"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Strict\Rector\Ternary\DisallowedShortTernaryRuleFixerRector`](../rules/Strict/Rector/Ternary/DisallowedShortTernaryRuleFixerRector.php)
-
-```diff
- final class ShortTernaryArray
- {
- public function run(array $array)
- {
-- return $array ?: 2;
-+ return $array !== [] ? $array : 2;
- }
- }
-```
-
-
-
-## Transform
-
-### AddAllowDynamicPropertiesAttributeRector
-
-Add the `AllowDynamicProperties` attribute to all classes
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Class_\AddAllowDynamicPropertiesAttributeRector`](../rules/Transform/Rector/Class_/AddAllowDynamicPropertiesAttributeRector.php)
-
-```diff
- namespace Example\Domain;
-
-+#[AllowDynamicProperties]
- class SomeObject {
- public string $someProperty = 'hello world';
- }
-```
-
-
-
-### AddInterfaceByTraitRector
-
-Add interface by used trait
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Class_\AddInterfaceByTraitRector`](../rules/Transform/Rector/Class_/AddInterfaceByTraitRector.php)
-
-```diff
--class SomeClass
-+class SomeClass implements SomeInterface
- {
- use SomeTrait;
- }
-```
-
-
-
-### ArrayDimFetchToMethodCallRector
-
-Change array dim fetch to method call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\ArrayDimFetch\ArrayDimFetchToMethodCallRector`](../rules/Transform/Rector/ArrayDimFetch/ArrayDimFetchToMethodCallRector.php)
-
-```diff
--$app['someService'];
-+$app->make('someService');
-```
-
-
-
-### AttributeKeyToClassConstFetchRector
-
-Replace key value on specific attribute to class constant
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Attribute\AttributeKeyToClassConstFetchRector`](../rules/Transform/Rector/Attribute/AttributeKeyToClassConstFetchRector.php)
-
-```diff
- use Doctrine\ORM\Mapping\Column;
-+use Doctrine\DBAL\Types\Types;
-
- class SomeClass
- {
-- #[Column(type: "string")]
-+ #[Column(type: Types::STRING)]
- public $name;
- }
-```
-
-
-
-### ConstFetchToClassConstFetchRector
-
-Change const fetch to class const fetch
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\ConstFetch\ConstFetchToClassConstFetchRector`](../rules/Transform/Rector/ConstFetch/ConstFetchToClassConstFetchRector.php)
-
-```diff
--$x = CONTEXT_COURSE
-+$x = course::LEVEL
-```
-
-
-
-### FuncCallToConstFetchRector
-
-Changes use of function calls to use constants
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\FuncCall\FuncCallToConstFetchRector`](../rules/Transform/Rector/FuncCall/FuncCallToConstFetchRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $value = php_sapi_name();
-+ $value = PHP_SAPI;
- }
- }
-```
-
-
-
-### FuncCallToMethodCallRector
-
-Turns defined function calls to local method calls.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\FuncCall\FuncCallToMethodCallRector`](../rules/Transform/Rector/FuncCall/FuncCallToMethodCallRector.php)
-
-```diff
- class SomeClass
- {
-+ /**
-+ * @var \Namespaced\SomeRenderer
-+ */
-+ private $someRenderer;
-+
-+ public function __construct(\Namespaced\SomeRenderer $someRenderer)
-+ {
-+ $this->someRenderer = $someRenderer;
-+ }
-+
- public function run()
- {
-- view('...');
-+ $this->someRenderer->view('...');
- }
- }
-```
-
-
-
-### FuncCallToNewRector
-
-Change configured function calls to new Instance
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\FuncCall\FuncCallToNewRector`](../rules/Transform/Rector/FuncCall/FuncCallToNewRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $array = collection([]);
-+ $array = new \Collection([]);
- }
- }
-```
-
-
-
-### FuncCallToStaticCallRector
-
-Turns defined function call to static method call.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\FuncCall\FuncCallToStaticCallRector`](../rules/Transform/Rector/FuncCall/FuncCallToStaticCallRector.php)
-
-```diff
--view("...", []);
-+SomeClass::render("...", []);
-```
-
-
-
-### MergeInterfacesRector
-
-Merges old interface to a new one, that already has its methods
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Class_\MergeInterfacesRector`](../rules/Transform/Rector/Class_/MergeInterfacesRector.php)
-
-```diff
--class SomeClass implements SomeInterface, SomeOldInterface
-+class SomeClass implements SomeInterface
- {
- }
-```
-
-
-
-### MethodCallToFuncCallRector
-
-Change method call to function call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\MethodCall\MethodCallToFuncCallRector`](../rules/Transform/Rector/MethodCall/MethodCallToFuncCallRector.php)
-
-```diff
- final class SomeClass
- {
- public function show()
- {
-- return $this->render('some_template');
-+ return view('some_template');
- }
- }
-```
-
-
-
-### MethodCallToPropertyFetchRector
-
-Turns method call `"$this->something()"` to property fetch "$this->something"
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\MethodCall\MethodCallToPropertyFetchRector`](../rules/Transform/Rector/MethodCall/MethodCallToPropertyFetchRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $this->someMethod();
-+ $this->someProperty;
- }
- }
-```
-
-
-
-### MethodCallToStaticCallRector
-
-Change method call to desired static call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\MethodCall\MethodCallToStaticCallRector`](../rules/Transform/Rector/MethodCall/MethodCallToStaticCallRector.php)
-
-```diff
- final class SomeClass
- {
- private $anotherDependency;
-
- public function __construct(AnotherDependency $anotherDependency)
- {
- $this->anotherDependency = $anotherDependency;
- }
-
- public function loadConfiguration()
- {
-- return $this->anotherDependency->process('value');
-+ return StaticCaller::anotherMethod('value');
- }
- }
-```
-
-
-
-### NewToStaticCallRector
-
-Change new Object to static call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\New_\NewToStaticCallRector`](../rules/Transform/Rector/New_/NewToStaticCallRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- new Cookie($name);
-+ Cookie::create($name);
- }
- }
-```
-
-
-
-### ParentClassToTraitsRector
-
-Replaces parent class to specific traits
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Class_\ParentClassToTraitsRector`](../rules/Transform/Rector/Class_/ParentClassToTraitsRector.php)
-
-```diff
--class SomeClass extends Nette\Object
-+class SomeClass
- {
-+ use Nette\SmartObject;
- }
-```
-
-
-
-### PropertyAssignToMethodCallRector
-
-Turns property assign of specific type and property name to method call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Assign\PropertyAssignToMethodCallRector`](../rules/Transform/Rector/Assign/PropertyAssignToMethodCallRector.php)
-
-```diff
- $someObject = new SomeClass;
--$someObject->oldProperty = false;
-+$someObject->newMethodCall(false);
-```
-
-
-
-### PropertyFetchToMethodCallRector
-
-Replaces properties assign calls be defined methods.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\Assign\PropertyFetchToMethodCallRector`](../rules/Transform/Rector/Assign/PropertyFetchToMethodCallRector.php)
-
-```diff
--$result = $object->property;
--$object->property = $value;
-+$result = $object->getProperty();
-+$object->setProperty($value);
-
--$bare = $object->bareProperty;
-+$bare = $object->getConfig('someArg');
-```
-
-
-
-### RectorConfigBuilderRector
-
-Change RectorConfig to RectorConfigBuilder
-
-- class: [`Rector\Transform\Rector\FileWithoutNamespace\RectorConfigBuilderRector`](../rules/Transform/Rector/FileWithoutNamespace/RectorConfigBuilderRector.php)
-
-```diff
--return static function (RectorConfig $rectorConfig): void {
-- $rectorConfig->rule(SomeRector::class);
--};
-+return RectorConfig::configure()->rules([SomeRector::class]);
-```
-
-
-
-### ReplaceParentCallByPropertyCallRector
-
-Changes method calls in child of specific types to defined property method call
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\MethodCall\ReplaceParentCallByPropertyCallRector`](../rules/Transform/Rector/MethodCall/ReplaceParentCallByPropertyCallRector.php)
-
-```diff
- final class SomeClass
- {
- public function run(SomeTypeToReplace $someTypeToReplace)
- {
-- $someTypeToReplace->someMethodCall();
-+ $this->someProperty->someMethodCall();
- }
- }
-```
-
-
-
-### ReturnTypeWillChangeRector
-
-Add #[\ReturnTypeWillChange] attribute to configured instanceof class with methods
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\ClassMethod\ReturnTypeWillChangeRector`](../rules/Transform/Rector/ClassMethod/ReturnTypeWillChangeRector.php)
-
-```diff
- class SomeClass implements ArrayAccess
- {
-+ #[\ReturnTypeWillChange]
- public function offsetGet($offset)
- {
- }
- }
-```
-
-
-
-### StaticCallToFuncCallRector
-
-Turns static call to function call.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\StaticCall\StaticCallToFuncCallRector`](../rules/Transform/Rector/StaticCall/StaticCallToFuncCallRector.php)
-
-```diff
--OldClass::oldMethod("args");
-+new_function("args");
-```
-
-
-
-### StaticCallToMethodCallRector
-
-Change static call to service method via constructor injection
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\StaticCall\StaticCallToMethodCallRector`](../rules/Transform/Rector/StaticCall/StaticCallToMethodCallRector.php)
-
-```diff
--use Nette\Utils\FileSystem;
-+use App\Custom\SmartFileSystem;
-
- class SomeClass
- {
-+ /**
-+ * @var SmartFileSystem
-+ */
-+ private $smartFileSystem;
-+
-+ public function __construct(SmartFileSystem $smartFileSystem)
-+ {
-+ $this->smartFileSystem = $smartFileSystem;
-+ }
-+
- public function run()
- {
-- return FileSystem::write('file', 'content');
-+ return $this->smartFileSystem->dumpFile('file', 'content');
- }
- }
-```
-
-
-
-### StaticCallToNewRector
-
-Change static call to new instance
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\StaticCall\StaticCallToNewRector`](../rules/Transform/Rector/StaticCall/StaticCallToNewRector.php)
-
-```diff
- class SomeClass
- {
- public function run()
- {
-- $dotenv = JsonResponse::create(['foo' => 'bar'], Response::HTTP_OK);
-+ $dotenv = new JsonResponse(['foo' => 'bar'], Response::HTTP_OK);
- }
- }
-```
-
-
-
-### StringToClassConstantRector
-
-Changes strings to specific constants
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\String_\StringToClassConstantRector`](../rules/Transform/Rector/String_/StringToClassConstantRector.php)
-
-```diff
- final class SomeSubscriber
- {
- public static function getSubscribedEvents()
- {
-- return ['compiler.post_dump' => 'compile'];
-+ return [\Yet\AnotherClass::CONSTANT => 'compile'];
- }
- }
-```
-
-
-
-### WrapReturnRector
-
-Wrap return value of specific method
-
-:wrench: **configure it!**
-
-- class: [`Rector\Transform\Rector\ClassMethod\WrapReturnRector`](../rules/Transform/Rector/ClassMethod/WrapReturnRector.php)
-
-```diff
- final class SomeClass
- {
- public function getItem()
- {
-- return 1;
-+ return [1];
- }
- }
-```
-
-
-
-## TypeDeclaration
-
-### AddArrowFunctionReturnTypeRector
-
-Add known return type to arrow function
-
-- class: [`Rector\TypeDeclaration\Rector\ArrowFunction\AddArrowFunctionReturnTypeRector`](../rules/TypeDeclaration/Rector/ArrowFunction/AddArrowFunctionReturnTypeRector.php)
-
-```diff
--fn () => [];
-+fn (): array => [];
-```
-
-
-
-### AddClosureNeverReturnTypeRector
-
-Add "never" return-type for closure that never return anything
-
-- class: [`Rector\TypeDeclaration\Rector\Closure\AddClosureNeverReturnTypeRector`](../rules/TypeDeclaration/Rector/Closure/AddClosureNeverReturnTypeRector.php)
-
-```diff
--function () {
-+function (): never {
- throw new InvalidException();
- }
-```
-
-
-
-### AddClosureVoidReturnTypeWhereNoReturnRector
-
-Add closure return type void if there is no return
-
-- class: [`Rector\TypeDeclaration\Rector\Closure\AddClosureVoidReturnTypeWhereNoReturnRector`](../rules/TypeDeclaration/Rector/Closure/AddClosureVoidReturnTypeWhereNoReturnRector.php)
-
-```diff
--function () {
-+function (): void {
- };
-```
-
-
-
-### AddFunctionVoidReturnTypeWhereNoReturnRector
-
-Add function return type void if there is no return
-
-- class: [`Rector\TypeDeclaration\Rector\Function_\AddFunctionVoidReturnTypeWhereNoReturnRector`](../rules/TypeDeclaration/Rector/Function_/AddFunctionVoidReturnTypeWhereNoReturnRector.php)
-
-```diff
--function restore() {
-+function restore(): void {
- }
-```
-
-
-
-### AddMethodCallBasedStrictParamTypeRector
-
-Change private method param type to strict type, based on passed strict types
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddMethodCallBasedStrictParamTypeRector.php)
-
-```diff
- final class SomeClass
- {
- public function run(int $value)
- {
- $this->resolve($value);
- }
-
-- private function resolve($value)
-+ private function resolve(int $value)
- {
- }
- }
-```
-
-
-
-### AddParamTypeBasedOnPHPUnitDataProviderRector
-
-Adds param type declaration based on PHPUnit provider return type declaration
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeBasedOnPHPUnitDataProviderRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeBasedOnPHPUnitDataProviderRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
- final class SomeTest extends TestCase
- {
- /**
- * @dataProvider provideData()
- */
-- public function test($value)
-+ public function test(string $value)
- {
- }
-
- public static function provideData()
- {
- yield ['name'];
- }
- }
-```
-
-
-
-### AddParamTypeDeclarationRector
-
-Add param types where needed
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector.php)
-
-```diff
- class SomeClass
- {
-- public function process($name)
-+ public function process(string $name)
- {
- }
- }
-```
-
-
-
-### AddParamTypeForFunctionLikeWithinCallLikeArgDeclarationRector
-
-Add param types where needed
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\FunctionLike\AddParamTypeForFunctionLikeWithinCallLikeArgDeclarationRector`](../rules/TypeDeclaration/Rector/FunctionLike/AddParamTypeForFunctionLikeWithinCallLikeArgDeclarationRector.php)
-
-```diff
--(new SomeClass)->process(function ($parameter) {});
-+(new SomeClass)->process(function (string $parameter) {});
-```
-
-
-
-### AddParamTypeFromPropertyTypeRector
-
-Adds param type declaration based on property type the value is assigned to PHPUnit provider return type declaration
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeFromPropertyTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeFromPropertyTypeRector.php)
-
-```diff
- final class SomeClass
- {
- private string $name;
-
-- public function setName($name)
-+ public function setName(string $name)
- {
- $this->name = $name;
- }
- }
-```
-
-
-
-### AddParamTypeSplFixedArrayRector
-
-Add exact fixed array type in known cases
-
-- class: [`Rector\TypeDeclaration\Rector\FunctionLike\AddParamTypeSplFixedArrayRector`](../rules/TypeDeclaration/Rector/FunctionLike/AddParamTypeSplFixedArrayRector.php)
-
-```diff
-+use PhpCsFixer\Tokenizer\Token;
- use PhpCsFixer\Tokenizer\Tokens;
-
- class SomeClass
- {
-+ /**
-+ * @param Tokens
-+ */
- public function run(Tokens $tokens)
- {
- }
- }
-```
-
-
-
-### AddPropertyTypeDeclarationRector
-
-Add type to property by added rules, mostly public/property by parent type
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\Property\AddPropertyTypeDeclarationRector`](../rules/TypeDeclaration/Rector/Property/AddPropertyTypeDeclarationRector.php)
-
-```diff
- class SomeClass extends ParentClass
- {
-- public $name;
-+ public string $name;
- }
-```
-
-
-
-### AddReturnTypeDeclarationBasedOnParentClassMethodRector
-
-Add missing return type declaration based on parent class method
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationBasedOnParentClassMethodRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddReturnTypeDeclarationBasedOnParentClassMethodRector.php)
-
-```diff
- class A
- {
- public function execute(): int
- {
- }
- }
-
- class B extends A{
-- public function execute()
-+ public function execute(): int
- {
- }
- }
-```
-
-
-
-### AddReturnTypeDeclarationFromYieldsRector
-
-Add return type declarations from yields
-
-- class: [`Rector\TypeDeclaration\Rector\FunctionLike\AddReturnTypeDeclarationFromYieldsRector`](../rules/TypeDeclaration/Rector/FunctionLike/AddReturnTypeDeclarationFromYieldsRector.php)
-
-```diff
- class SomeClass
- {
-- public function provide()
-+ /**
-+ * @return Iterator
-+ */
-+ public function provide(): Iterator
- {
- yield 1;
- }
- }
-```
-
-
-
-### AddReturnTypeDeclarationRector
-
-Changes defined return typehint of method and class.
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddReturnTypeDeclarationRector.php)
-
-```diff
- class SomeClass
- {
-- public function getData()
-+ public function getData(): array
- {
- }
- }
-```
-
-
-
-### AddTestsVoidReturnTypeWhereNoReturnRector
-
-Add void to PHPUnit test methods
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\AddTestsVoidReturnTypeWhereNoReturnRector`](../rules/TypeDeclaration/Rector/Class_/AddTestsVoidReturnTypeWhereNoReturnRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
- class SomeClass extends TestCase
- {
-- public function testSomething()
-+ public function testSomething(): void
- {
- }
- }
-```
-
-
-
-### AddTypeFromResourceDocblockRector
-
-Add param and return types on resource docblock
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddTypeFromResourceDocblockRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddTypeFromResourceDocblockRector.php)
-
-```diff
- class SomeClass
- {
-- /**
-- * @param resource|null $resource
-- */
-- public function setResource($resource)
-+ public function setResource(?App\ValueObject\Resource $resource)
- {
- }
-
-- /**
-- * @return resource|null
-- */
-- public function getResource()
-+ public function getResource(): ?App\ValueObject\Resource
- {
- }
- }
-```
-
-
-
-### AddVoidReturnTypeWhereNoReturnRector
-
-Add return type void to function like without any return
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector`](../rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php)
-
-```diff
- final class SomeClass
- {
-- public function getValues()
-+ public function getValues(): void
- {
- $value = 1000;
- return;
- }
- }
-```
-
-
-
-### BinaryOpNullableToInstanceofRector
-
-Change && and || between nullable objects to instanceof compares
-
-- class: [`Rector\TypeDeclaration\Rector\BooleanAnd\BinaryOpNullableToInstanceofRector`](../rules/TypeDeclaration/Rector/BooleanAnd/BinaryOpNullableToInstanceofRector.php)
-
-```diff
- function someFunction(?SomeClass $someClass)
- {
-- if ($someClass && $someClass->someMethod()) {
-+ if ($someClass instanceof SomeClass && $someClass->someMethod()) {
- return 'yes';
- }
-
- return 'no';
- }
-```
-
-
-
-### BoolReturnTypeFromBooleanConstReturnsRector
-
-Add return bool, based on direct true/false returns
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\BoolReturnTypeFromBooleanConstReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/BoolReturnTypeFromBooleanConstReturnsRector.php)
-
-```diff
- class SomeClass
- {
-- public function resolve($value)
-+ public function resolve($value): bool
- {
- if ($value) {
- return false;
- }
-
- return true;
- }
- }
-```
-
-
-
-### BoolReturnTypeFromBooleanStrictReturnsRector
-
-Add bool return type based on strict bool returns type operations
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\BoolReturnTypeFromBooleanStrictReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/BoolReturnTypeFromBooleanStrictReturnsRector.php)
-
-```diff
- class SomeClass
- {
-- public function resolve($first, $second)
-+ public function resolve($first, $second): bool
- {
- return $first > $second;
- }
- }
-```
-
-
-
-### ChildDoctrineRepositoryClassTypeRector
-
-Add return type to classes that extend `Doctrine\ORM\EntityRepository` based on return Doctrine method names
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\ChildDoctrineRepositoryClassTypeRector`](../rules/TypeDeclaration/Rector/Class_/ChildDoctrineRepositoryClassTypeRector.php)
-
-```diff
- use Doctrine\ORM\EntityRepository;
-
- /**
- * @extends EntityRepository
- */
- final class SomeRepository extends EntityRepository
- {
-- public function getActiveItem()
-+ public function getActiveItem(): ?SomeType
- {
- return $this->findOneBy([
- 'something'
- ]);
- }
- }
-```
-
-
-
-### ClosureReturnTypeRector
-
-Add return type to closures based on known return values
-
-- class: [`Rector\TypeDeclaration\Rector\Closure\ClosureReturnTypeRector`](../rules/TypeDeclaration/Rector/Closure/ClosureReturnTypeRector.php)
-
-```diff
--function () {
-+function (): int {
- return 100;
- };
-```
-
-
-
-### DeclareStrictTypesRector
-
-Add declare(strict_types=1) if missing
-
-- class: [`Rector\TypeDeclaration\Rector\StmtsAwareInterface\DeclareStrictTypesRector`](../rules/TypeDeclaration/Rector/StmtsAwareInterface/DeclareStrictTypesRector.php)
-
-```diff
-+declare(strict_types=1);
-+
- function someFunction()
- {
- }
-```
-
-
-
-### EmptyOnNullableObjectToInstanceOfRector
-
-Change `empty()` on nullable object to instanceof check
-
-- class: [`Rector\TypeDeclaration\Rector\Empty_\EmptyOnNullableObjectToInstanceOfRector`](../rules/TypeDeclaration/Rector/Empty_/EmptyOnNullableObjectToInstanceOfRector.php)
-
-```diff
- class SomeClass
- {
- public function run(?AnotherObject $anotherObject)
- {
-- if (empty($anotherObject)) {
-+ if (! $anotherObject instanceof AnotherObject) {
- return false;
- }
-
- return true;
- }
- }
-```
-
-
-
-### IncreaseDeclareStrictTypesRector
-
-Add declare strict types to a limited amount of classes at a time, to try out in the wild and increase level gradually
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\StmtsAwareInterface\IncreaseDeclareStrictTypesRector`](../rules/TypeDeclaration/Rector/StmtsAwareInterface/IncreaseDeclareStrictTypesRector.php)
-
-```diff
-+declare(strict_types=1);
-+
- function someFunction()
- {
- }
-```
-
-
-
-### MergeDateTimePropertyTypeDeclarationRector
-
-Set DateTime to DateTimeInterface for DateTime property with DateTimeInterface docblock
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\MergeDateTimePropertyTypeDeclarationRector`](../rules/TypeDeclaration/Rector/Class_/MergeDateTimePropertyTypeDeclarationRector.php)
-
-```diff
- final class SomeClass
- {
-- /**
-- * @var DateTimeInterface
-- */
-- private DateTime $dateTime;
-+ private DateTimeInterface $dateTime;
- }
-```
-
-
-
-### NumericReturnTypeFromStrictReturnsRector
-
-Add int/float return type based on strict typed returns
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\NumericReturnTypeFromStrictReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/NumericReturnTypeFromStrictReturnsRector.php)
-
-```diff
- class SomeClass
- {
-- public function increase($value)
-+ public function increase($value): int
- {
- return ++$value;
- }
- }
-```
-
-
-
-### NumericReturnTypeFromStrictScalarReturnsRector
-
-Add int/float return type based on strict scalar returns type
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\NumericReturnTypeFromStrictScalarReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/NumericReturnTypeFromStrictScalarReturnsRector.php)
-
-```diff
- class SomeClass
- {
-- public function getNumber()
-+ public function getNumber(): int
- {
- return 200;
- }
- }
-```
-
-
-
-### ParamTypeByMethodCallTypeRector
-
-Change param type based on passed method call type
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ParamTypeByMethodCallTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/ParamTypeByMethodCallTypeRector.php)
-
-```diff
- class SomeTypedService
- {
- public function run(string $name)
- {
- }
- }
-
- final class UseDependency
- {
- public function __construct(
- private SomeTypedService $someTypedService
- ) {
- }
-
-- public function go($value)
-+ public function go(string $value)
- {
- $this->someTypedService->run($value);
- }
- }
-```
-
-
-
-### ParamTypeByParentCallTypeRector
-
-Change param type based on parent param type
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ParamTypeByParentCallTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/ParamTypeByParentCallTypeRector.php)
-
-```diff
- class SomeControl
- {
- public function __construct(string $name)
- {
- }
- }
-
- class VideoControl extends SomeControl
- {
-- public function __construct($name)
-+ public function __construct(string $name)
- {
- parent::__construct($name);
- }
- }
-```
-
-
-
-### PropertyTypeFromStrictSetterGetterRector
-
-Add property type based on strict setter and getter method
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\PropertyTypeFromStrictSetterGetterRector`](../rules/TypeDeclaration/Rector/Class_/PropertyTypeFromStrictSetterGetterRector.php)
-
-```diff
- final class SomeClass
- {
-- private $name = 'John';
-+ private string $name = 'John';
-
- public function setName(string $name): void
- {
- $this->name = $name;
- }
-
- public function getName(): string
- {
- return $this->name;
- }
- }
-```
-
-
-
-### ReturnNeverTypeRector
-
-Add "never" return-type for methods that never return anything
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnNeverTypeRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run()
-+ public function run(): never
- {
- throw new InvalidException();
- }
- }
-```
-
-
-
-### ReturnNullableTypeRector
-
-Add basic ? nullable type to class methods and functions, as of PHP 7.1
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnNullableTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnNullableTypeRector.php)
-
-```diff
- final class SomeClass
- {
-- public function getData()
-+ public function getData(): ?int
- {
- if (rand(0, 1)) {
- return null;
- }
-
- return 100;
- }
- }
-```
-
-
-
-### ReturnTypeFromMockObjectRector
-
-Add known property and return MockObject types
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromMockObjectRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromMockObjectRector.php)
-
-```diff
- class SomeTest extends TestCase
- {
-- public function createSomeMock()
-+ public function createSomeMock(): \PHPUnit\Framework\MockObject\MockObject
- {
- $someMock = $this->createMock(SomeClass::class);
- return $someMock;
- }
- }
-```
-
-
-
-### ReturnTypeFromReturnCastRector
-
-Add return type to function like with return cast
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnCastRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromReturnCastRector.php)
-
-```diff
- final class SomeClass
- {
-- public function action($param)
-+ public function action($param): array
- {
- try {
- return (array) $param;
- } catch (Exception $exception) {
- // some logging
- throw $exception;
- }
- }
- }
-```
-
-
-
-### ReturnTypeFromReturnDirectArrayRector
-
-Add return type from return direct array
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnDirectArrayRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromReturnDirectArrayRector.php)
-
-```diff
- final class AddReturnArray
- {
-- public function getArray()
-+ public function getArray(): array
- {
- return [1, 2, 3];
- }
- }
-```
-
-
-
-### ReturnTypeFromReturnNewRector
-
-Add return type to function like with return new
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnNewRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromReturnNewRector.php)
-
-```diff
- final class SomeClass
- {
-- public function create()
-+ public function create(): Project
- {
- return new Project();
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictConstantReturnRector
-
-Add strict type declaration based on returned constants
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictConstantReturnRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictConstantReturnRector.php)
-
-```diff
- class SomeClass
- {
- public const NAME = 'name';
-
-- public function run()
-+ public function run(): string
- {
- return self::NAME;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictFluentReturnRector
-
-Add return type from strict return `$this`
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictFluentReturnRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictFluentReturnRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run()
-+ public function run(): self
- {
- return $this;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictNativeCallRector
-
-Add strict return type based native function or native method
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNativeCallRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictNativeCallRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run()
-+ public function run(): int
- {
- return strlen('value');
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictNewArrayRector
-
-Add strict return array type based on created empty array and returned
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNewArrayRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictNewArrayRector.php)
-
-```diff
- final class SomeClass
- {
-- public function run()
-+ public function run(): array
- {
- $values = [];
-
- return $values;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictParamRector
-
-Add return type based on strict parameter type
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictParamRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictParamRector.php)
-
-```diff
- class SomeClass
- {
-- public function resolve(ParamType $item)
-+ public function resolve(ParamType $item): ParamType
- {
- return $item;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictTernaryRector
-
-Add method return type based on strict ternary values
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\ReturnTypeFromStrictTernaryRector`](../rules/TypeDeclaration/Rector/Class_/ReturnTypeFromStrictTernaryRector.php)
-
-```diff
- final class SomeClass
- {
-- public function getValue($number)
-+ public function getValue($number): int
- {
- return $number ? 100 : 500;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictTypedCallRector
-
-Add return type from strict return type of call
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedCallRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictTypedCallRector.php)
-
-```diff
- final class SomeClass
- {
-- public function getData()
-+ public function getData(): int
- {
- return $this->getNumber();
- }
-
- private function getNumber(): int
- {
- return 1000;
- }
- }
-```
-
-
-
-### ReturnTypeFromStrictTypedPropertyRector
-
-Add return method return type based on strict typed property
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedPropertyRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictTypedPropertyRector.php)
-
-```diff
- final class SomeClass
- {
- private int $age = 100;
-
-- public function getAge()
-+ public function getAge(): int
- {
- return $this->age;
- }
- }
-```
-
-
-
-### ReturnTypeFromSymfonySerializerRector
-
-Add return type from symfony serializer
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromSymfonySerializerRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromSymfonySerializerRector.php)
-
-```diff
- final class SomeClass
- {
- private \Symfony\Component\Serializer\Serializer $serializer;
-
-- public function resolveEntity($data)
-+ public function resolveEntity($data): SomeType
- {
- return $this->serializer->deserialize($data, SomeType::class, 'json');
- }
- }
-```
-
-
-
-### ReturnUnionTypeRector
-
-Add union return type
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnUnionTypeRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnUnionTypeRector.php)
-
-```diff
- final class SomeClass
- {
-- public function getData()
-+ public function getData(): null|\DateTime|\stdClass
- {
- if (rand(0, 1)) {
- return null;
- }
-
- if (rand(0, 1)) {
- return new DateTime('now');
- }
-
- return new stdClass;
- }
- }
-```
-
-
-
-### StrictArrayParamDimFetchRector
-
-Add array type based on array dim fetch use
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\StrictArrayParamDimFetchRector`](../rules/TypeDeclaration/Rector/ClassMethod/StrictArrayParamDimFetchRector.php)
-
-```diff
- class SomeClass
- {
-- public function resolve($item)
-+ public function resolve(array $item)
- {
- return $item['name'];
- }
- }
-```
-
-
-
-### StrictStringParamConcatRector
-
-Add string type based on concat use
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\StrictStringParamConcatRector`](../rules/TypeDeclaration/Rector/ClassMethod/StrictStringParamConcatRector.php)
-
-```diff
- class SomeClass
- {
-- public function resolve($item)
-+ public function resolve(string $item)
- {
- return $item . ' world';
- }
- }
-```
-
-
-
-### StringReturnTypeFromStrictScalarReturnsRector
-
-Add string return type based on returned string scalar values
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\StringReturnTypeFromStrictScalarReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/StringReturnTypeFromStrictScalarReturnsRector.php)
-
-```diff
- final class SomeClass
- {
-- public function foo($condition)
-+ public function foo($condition): string
- {
- if ($condition) {
- return 'yes';
- }
-
- return 'no';
- }
- }
-```
-
-
-
-### StringReturnTypeFromStrictStringReturnsRector
-
-Add string return type based on returned strict string values
-
-- class: [`Rector\TypeDeclaration\Rector\ClassMethod\StringReturnTypeFromStrictStringReturnsRector`](../rules/TypeDeclaration/Rector/ClassMethod/StringReturnTypeFromStrictStringReturnsRector.php)
-
-```diff
- final class SomeClass
- {
-- public function foo($condition, $value)
-+ public function foo($condition, $value): string;
- {
- if ($value) {
- return 'yes';
- }
-
- return strtoupper($value);
- }
- }
-```
-
-
-
-### TypedPropertyFromAssignsRector
-
-Add typed property from assigned types
-
-:wrench: **configure it!**
-
-- class: [`Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector`](../rules/TypeDeclaration/Rector/Property/TypedPropertyFromAssignsRector.php)
-
-```diff
- final class SomeClass
- {
-- private $name;
-+ private string|null $name = null;
-
- public function run()
- {
- $this->name = 'string';
- }
- }
-```
-
-
-
-### TypedPropertyFromCreateMockAssignRector
-
-Add typed property from assigned mock
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\TypedPropertyFromCreateMockAssignRector`](../rules/TypeDeclaration/Rector/Class_/TypedPropertyFromCreateMockAssignRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
- final class SomeTest extends TestCase
- {
-- private $someProperty;
-+ private \PHPUnit\Framework\MockObject\MockObject $someProperty;
-
- protected function setUp(): void
- {
- $this->someProperty = $this->createMock(SomeMockedClass::class);
- }
- }
-```
-
-
-
-### TypedPropertyFromJMSSerializerAttributeTypeRector
-
-Add typed property from JMS Serializer Type attribute
-
-- class: [`Rector\TypeDeclaration\Rector\Class_\TypedPropertyFromJMSSerializerAttributeTypeRector`](../rules/TypeDeclaration/Rector/Class_/TypedPropertyFromJMSSerializerAttributeTypeRector.php)
-
-```diff
- final class SomeClass
- {
- #[\JMS\Serializer\Annotation\Type('string')]
-- private $name;
-+ private ?string $name = null;
- }
-```
-
-
-
-### TypedPropertyFromStrictConstructorRector
-
-Add typed properties based only on strict constructor types
-
-- class: [`Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictConstructorRector`](../rules/TypeDeclaration/Rector/Property/TypedPropertyFromStrictConstructorRector.php)
-
-```diff
- class SomeObject
- {
-- private $name;
-+ private string $name;
-
- public function __construct(string $name)
- {
- $this->name = $name;
- }
- }
-```
-
-
-
-### TypedPropertyFromStrictSetUpRector
-
-Add strict typed property based on `setUp()` strict typed assigns in TestCase
-
-- class: [`Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictSetUpRector`](../rules/TypeDeclaration/Rector/Property/TypedPropertyFromStrictSetUpRector.php)
-
-```diff
- use PHPUnit\Framework\TestCase;
-
- final class SomeClass extends TestCase
- {
-- private $value;
-+ private int $value;
-
- public function setUp()
- {
- $this->value = 1000;
- }
- }
-```
-
-
-
-### WhileNullableToInstanceofRector
-
-Change while null compare to strict instanceof check
-
-- class: [`Rector\TypeDeclaration\Rector\While_\WhileNullableToInstanceofRector`](../rules/TypeDeclaration/Rector/While_/WhileNullableToInstanceofRector.php)
-
-```diff
- final class SomeClass
- {
- public function run(?SomeClass $someClass)
- {
-- while ($someClass !== null) {
-+ while ($someClass instanceof SomeClass) {
- // do something
- }
- }
- }
-```
-
-
-
-## Visibility
-
-### ChangeConstantVisibilityRector
-
-Change visibility of constant from parent class.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Visibility\Rector\ClassConst\ChangeConstantVisibilityRector`](../rules/Visibility/Rector/ClassConst/ChangeConstantVisibilityRector.php)
-
-```diff
- class FrameworkClass
- {
- protected const SOME_CONSTANT = 1;
- }
-
- class MyClass extends FrameworkClass
- {
-- public const SOME_CONSTANT = 1;
-+ protected const SOME_CONSTANT = 1;
- }
-```
-
-
-
-### ChangeMethodVisibilityRector
-
-Change visibility of method from parent class.
-
-:wrench: **configure it!**
-
-- class: [`Rector\Visibility\Rector\ClassMethod\ChangeMethodVisibilityRector`](../rules/Visibility/Rector/ClassMethod/ChangeMethodVisibilityRector.php)
-
-```diff
- class FrameworkClass
- {
- protected function someMethod()
- {
- }
- }
-
- class MyClass extends FrameworkClass
- {
-- public function someMethod()
-+ protected function someMethod()
- {
- }
- }
-```
-
-
-
-### ExplicitPublicClassMethodRector
-
-Add explicit public method visibility.
-
-- class: [`Rector\Visibility\Rector\ClassMethod\ExplicitPublicClassMethodRector`](../rules/Visibility/Rector/ClassMethod/ExplicitPublicClassMethodRector.php)
-
-```diff
- class SomeClass
- {
-- function foo()
-+ public function foo()
- {
- }
- }
-```
-
-
diff --git a/phpstan.neon b/phpstan.neon
index 7274a083612..809cd0c0782 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -273,9 +273,6 @@ parameters:
message: '#Fetching (deprecated )?class constant (.*?) of (deprecated )?class (Rector\\Set\\ValueObject\\DowngradeLevelSetList|Rector\\Symfony\\Set\\(.*?))#'
path: src/Configuration/RectorConfigBuilder.php
- # deprecated
- - '#Register "Rector\\Php80\\Rector\\FunctionLike\\MixedTypeRector" service to "php80\.php" config set#'
-
- '#::provideMinPhpVersion\(\) never returns \d+ so it can be removed from the return type#'
# runtime comparison
diff --git a/rules/Php80/Rector/FunctionLike/MixedTypeRector.php b/rules/Php80/Rector/FunctionLike/MixedTypeRector.php
deleted file mode 100644
index d25aa0d9b97..00000000000
--- a/rules/Php80/Rector/FunctionLike/MixedTypeRector.php
+++ /dev/null
@@ -1,79 +0,0 @@
->
- */
- public function getNodeTypes(): array
- {
- return [ClassMethod::class, Function_::class, Closure::class, ArrowFunction::class];
- }
-
- /**
- * @param ClassMethod|Function_|Closure|ArrowFunction $node
- */
- public function refactor(Node $node): ?Node
- {
- throw new ShouldNotHappenException(sprintf(
- 'The `%s` is removed. Use "typeDeclarations" set in rector.php instead, to avoid filling mixed on better known types.',
- self::class
- ));
- }
-
- public function provideMinPhpVersion(): int
- {
- return PhpVersionFeature::MIXED_TYPE;
- }
-}
diff --git a/src/Console/Command/ProcessCommand.php b/src/Console/Command/ProcessCommand.php
index 91ae69da128..7b619b2274a 100644
--- a/src/Console/Command/ProcessCommand.php
+++ b/src/Console/Command/ProcessCommand.php
@@ -55,21 +55,18 @@ protected function configure(): void
$this->setDescription('Upgrades or refactors source code with provided rectors');
$this->setHelp(
<<<'EOF'
-The %command.name% command will run Rector main feature:
+Bare command will run Rector main feature:
+* vendor/bin/rector
- %command.full_name%
+Specify a folder or a file:
+* vendor/bin/rector src/Controller
-To specify a folder or a file, you can run:
+You can also preview the changes that Rector would make:
+* vendor/bin/rector src/Controller --dry-run
- %command.full_name% src/Controller
+Debug via the --debug option:
+* vendor/bin/rector src/Controller --debug
-You can also dry run to see the changes that Rector will make with the --dry-run option:
-
- %command.full_name% src/Controller --dry-run
-
-It's also possible to get debug via the --debug option:
-
- %command.full_name% src/Controller --dry-run --debug
EOF
);