diff --git a/rules-tests/CodeQuality/Rector/If_/ShortenElseIfRector/Fixture/skip_with_html.php.inc b/rules-tests/CodeQuality/Rector/If_/ShortenElseIfRector/Fixture/skip_with_html.php.inc new file mode 100644 index 00000000000..27b76053e92 --- /dev/null +++ b/rules-tests/CodeQuality/Rector/If_/ShortenElseIfRector/Fixture/skip_with_html.php.inc @@ -0,0 +1,35 @@ + +
+ is_main_item) : ?> + +
+ icon ? $this->Icon->render($menuItem->icon) : '' ?> + +
+
+ is_external_url) { + echo $this->Html->link($title, $menuItem->url, [ + 'menu-icon' => $menuItem->icon ?? false, + 'class' => $aClass, + ]); + } elseif ($menuItem->parsed_url && $menuItem->is_url_valid) { + echo $this->Html->linkFromPath($title, $menuItem->parsed_url, [], [ + 'menu-icon' => $menuItem->icon ?? false, + 'class' => $aClass, + ]); + } else { + // Do something? + } + endif; ?> +
+ isFirstClassCallable()) { return null; } + $args = $node instanceof Attribute ? $node->args : $node->getArgs(); if (count($args) <= 1) { diff --git a/rules/CodeQuality/Rector/If_/ShortenElseIfRector.php b/rules/CodeQuality/Rector/If_/ShortenElseIfRector.php index 75dd1b3526d..9296af9cd7b 100644 --- a/rules/CodeQuality/Rector/If_/ShortenElseIfRector.php +++ b/rules/CodeQuality/Rector/If_/ShortenElseIfRector.php @@ -9,6 +9,7 @@ use PhpParser\Node\Stmt\ElseIf_; use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\Nop; +use Rector\Contract\Rector\HTMLAverseRectorInterface; use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; @@ -17,7 +18,7 @@ /** * @see \Rector\Tests\CodeQuality\Rector\If_\ShortenElseIfRector\ShortenElseIfRectorTest */ -final class ShortenElseIfRector extends AbstractRector +final class ShortenElseIfRector extends AbstractRector implements HTMLAverseRectorInterface { public function getRuleDefinition(): RuleDefinition {