Skip to content
Snippets Groups Projects

Draft: Rector

Open Jan-Hendrik Willms requested to merge rector into main
8 files
+ 267
3
Compare changes
  • Side-by-side
  • Inline

Files

<?php
namespace Studip\Rectors;
use PhpParser\Node;
use PhpParser\Node\Expr\Include_;
use Rector\Core\Rector\AbstractRector;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
final class RemoveIncludeOfDefaultControllersRector extends AbstractRector
{
public function getRuleDefinition(): RuleDefinition
{
return new RuleDefinition('Remove includes/requires of default controllers', [
new CodeSample(
'require \'app/controllers/studip_controller.php\';',
''
)
]);
}
public function getNodeTypes(): array
{
return [Include_::class];
}
/**
* @param Include_ $node
*/
public function refactor(Node $node)
{
if ($node->expr instanceof Node\Scalar\String_ && $this->isDefaultController($node->expr)) {
$this->removeNode($node);
return null;
}
return null;
}
private function isDefaultController(Node\Scalar\String_ $string): bool
{
return strpos($string->value, 'studip_controller') !== false;
}
}
Loading