Методы добавления «активного» класса в PHP для навигации

Чтобы добавить «активный» класс в PHP, вы можете использовать различные методы в зависимости от контекста. Вот несколько часто используемых подходов:

  1. Метод условного оператора:

    <?php
    $currentPage = "home"; // Replace "home" with the current page or identifier
    
    function isActive($page)
    {
       global $currentPage;
       if ($currentPage === $page) {
           echo "active";
       }
    }
    ?>
    
    <!-- Example usage in HTML navigation -->
    <ul>
       <li class="<?php isActive('home'); ?>"><a href="home.php">Home</a></li>
       <li class="<?php isActive('about'); ?>"><a href="about.php">About</a></li>
       <li class="<?php isActive('contact'); ?>"><a href="contact.php">Contact</a></li>
    </ul>

    В этом методе вы определяете функцию (isActive), которая проверяет, соответствует ли текущая страница заданному идентификатору страницы. Если они совпадают, это отражает «активный» класс.

  2. Метод массива:

    <?php
    $currentPage = "home"; // Replace "home" with the current page or identifier
    
    $menuItems = array(
       "home" => "",
       "about" => "",
       "contact" => ""
    );
    
    $menuItems[$currentPage] = "active";
    ?>
    
    <!-- Example usage in HTML navigation -->
    <ul>
       <li class="<?php echo $menuItems['home']; ?>"><a href="home.php">Home</a></li>
       <li class="<?php echo $menuItems['about']; ?>"><a href="about.php">About</a></li>
       <li class="<?php echo $menuItems['contact']; ?>"><a href="contact.php">Contact</a></li>
    </ul>

    В этом методе вы создаете массив ($menuItems) с ключами, представляющими идентификаторы страниц, и значениями, представляющими класс. Вы обновляете значение текущей страницы до «активной» и отображаете соответствующее значение в атрибуте класса HTML.

  3. Объектно-ориентированный метод:

    <?php
    $currentPage = "home"; // Replace "home" with the current page or identifier
    
    class Page
    {
       private $currentPage;
    
       public function __construct($currentPage)
       {
           $this->currentPage = $currentPage;
       }
    
       public function isActive($page)
       {
           if ($this->currentPage === $page) {
               return "active";
           }
           return "";
       }
    }
    
    $page = new Page($currentPage);
    ?>
    
    <!-- Example usage in HTML navigation -->
    <ul>
       <li class="<?php echo $page->isActive('home'); ?>"><a href="home.php">Home</a></li>
       <li class="<?php echo $page->isActive('about'); ?>"><a href="about.php">About</a></li>
       <li class="<?php echo $page->isActive('contact'); ?>"><a href="contact.php">Contact</a></li>
    </ul>

    В этом методе вы создаете класс (Page) с конструктором, который устанавливает текущую страницу, и методом (isActive), который проверяет, соответствует ли текущая страница заданный идентификатор страницы. Он возвращает «активный» класс, если они совпадают.