Задать вопрос
@motcart

Как отделить PHP от HTML части?

Хорошим тоном считается отдельное написание php и html кода для сайта. Большую часть сайта разобрал, но стались некоторые моменты. Есть такая часть кода:
<?php
url_list ('1');
foreach ($subcategory_array as $menu_item) {
    echo '<a href="' . $menu_item['url'] . '/">' . $menu_item['title'] . '</a>'; 
}
?>

Функция url_list() отдает многомерный массив с ссылками и названиями для вывода меню сайта. Параметр '1' задает из какого раздела брать ссылки.

Сама функция выглядит так (в подключаемом файле):
function get_category_list ($order) {
    global $url_array;
    $url_list = mysql_query ("SELECT * FROM `urls`");
    while ($url = mysql_fetch_array ($url_list, MYSQL_ASSOC)) {

            $url_array[] = array (
                'title' => $category['title'], 
                'url'   => $category['url']);
        }
    }
}


Как можно избавиться от php части в первом листинге?

UPD: всем спасибо за советы и обсуждения. Я еще в начале изучения php, поэтому шаблонизаторы и фреймворки пока рассматривать не буду.
  • Вопрос задан
  • 2810 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
отдельное написание php и html кода для сайта

Разделение уровня на котором данные мы получаем и обрабатываем от уровня представления.

в вашем случае "отделение" ваше никак не поможет сделать код лучше так как вы всеравно фигачите запросы из шаблонов. Так что просто не парьтесь. Пусть уж лучше ваш код будет простым говнокодом чем сложным.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Используйте шаблонизаторы вроде smarty и определяйте для них нужные функции вроде этой.
Ответ написан
@asd111
Посмотрите какой нибудь фреймворк на досуге. Yii2, Symfony 2, Laravel.
Ответ написан
@name_tuki
Да собственно это не реально, можно минимизировать.
mvc или hmvc, есть еще 1н способ, но его лучше не использовать.
Если приложение маленькое то mvc лучше всего подойдет, если большое то уже hmvc, но оно станет уже сложнее.
В любом случаи, там где есть php + html, они по любому будут пересекаться.
По мне ответ очевиден.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы