visibilityManipulator = $visibilityManipulator; } public function provideMinPhpVersion() : int { return PhpVersionFeature::PROPERTY_MODIFIER; } public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('Change property modifier from `var` to `public`', [new CodeSample(<<<'CODE_SAMPLE' final class SomeController { var $name = 'Tom'; } CODE_SAMPLE , <<<'CODE_SAMPLE' final class SomeController { public $name = 'Tom'; } CODE_SAMPLE )]); } /** * @return array> */ public function getNodeTypes() : array { return [Property::class]; } /** * @param Property $node */ public function refactor(Node $node) : ?Node { // explicitly public if ($node->flags !== 0) { return null; } $this->visibilityManipulator->makePublic($node); return $node; } }