PSR-2 не упоминает ничего, что могло бы относиться к использованию встроенных php в HTML-шаблонах, однако php-cs-fixer
инструмент, похоже, имеет для этого стандарт.
Это мой файл шаблона перед запуском на нем php-cs-fixer
:
<nav>
<ul>
<li>
<a href="#">Link</a>
<?php
if (! empty($subnav)) {
?>
<ul class="subnav">
<?php
foreach ($subnav as $link) {
?>
<li><?=$link?></li>
<?php
}
?>
</ul>
<?php
}
?>
</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</nav>
И после запуска php-cs-fixer fix views/ui/nav.php --level=psr2
:
<nav>
<ul>
<li>
<a href="#">Link</a>
<?php
if (! empty($subnav)) {
?>
<ul class="subnav">
<?php
foreach ($subnav as $link) {
?>
<li><?=$link?></li>
<?php
}
?>
</ul>
<?php
}
?>
</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</nav>
Это просто выглядит неправильно, поэтому я должен что-то упустить.
- Есть ли правильный способ написать такой встроенный PHP, который будет соответствовать PSR-2?
- Будет ли что-то не так с использованием альтернативного синтаксиса PHP для управляющих структур ? Опять же, в PSR-2 нет упоминания, а у
php-cs-fixer
, кажется, нет никаких проблем с ними, но почему-то они кажутся немного грязными!
{
имеет отступ с использованием 4 пробелов, следовательно,{\n ?>
и т. д. ... но если вы используете PHP так, как вы это делаете , вывод может выглядеть лучше, если вы используете альтернативный синтаксис (здесьforeach():
разметка<?php endforeach; ?>
) - person Elias Van Ootegem   schedule 15.01.2015