Я пытаюсь сделать простые файлы шаблонов PHP, и мне было интересно, как сделать эффективную панель навигации.
Это то, что у меня сейчас есть:
<nav>
<ul>
<!-- If the pageName is equal to the specific page number, make it the active class in styles.css (linked to CSS in head.php) -->
<li <?php
if ($pageName === $pageName1)
{
echo "class = 'active'";
}
?>>
<!-- The link to the page (file will be named as the value of pageName1.php) -->
<!-- Then display the pageName with the first letter of each word capitalized -->
<?php echo "<a href=" . '"' . $pageName1 . ".php" . '"' . ">" . ucfirst($pageName) . "</a>"; ?>
</li>
</ul>
</nav>
Это работает, но мне интересно, смогу ли я сделать его более эффективным и следовать лучшим практикам PHP.
Вы можете несколько упростить его, выполнив логику сверху, а затем только выводя переменные внутри HTML-кода.
Кроме того, вы всегда должны оставлять HTML как HTML и избегать использования PHP для вывода HTML.
<?php
$active = ($pageName === $pageName1 ? ' class="active"' : '');
?>
<nav>
<ul>
<li<?= $active ?>>
<a href="<?= $pageName1 ?>.php"><?= ucfirst($pageName) ?></a>
</li>
</ul>
</nav>
Других решений пока нет …