littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.

Является ли правильной конструкция?

<html>
<head>blablalba</head>
<body>
<?php
if($someStatement){ ?>
	<div id="div1">blablabla</div>
<? }else{ ?>
	<div id="div2">blablabla</div>
<? } ?>
</body>
</html>

Встретил такое в одном из уроков. Или какой принцип используется для вывода содержимого страницы в зависимости от условий?
  • Вопрос задан
  • 2512 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Конструкция является правильной, применяется повсеместно. Главное - разделять логику обработки данных и логику их вывода. Грубо говоря, страница сайта должна обслуживаться двумя файлами - тем, который готовит данные (контроллер), и тем, который их выводит (шаблон). В первом не должно быть ни малейшего упоминания об HTML, а во втором - никакой работы с базой. В том, который выводит, вполне может использоваться специфичная для вывода логика.

Например:
У нас есть страница новостей. Контроллер готовит массив с данными и передает в шаблон. Чтобы вывести этот массив в шаблоне, нам нужен ЦИКЛ. Цикл - это логика. Но без нее здесь не обойтись. И ничего страшного в ней нет, поскольку это логика отображения.
Если новостей нет - желательно вывести сообщение об этом, чтобы не вывдить пустую страницу. То есть, мы должны проверить массив на пустоту, и вывести сообщение. Это тоже логика, которую невозможно прописать нигде, кроме шаблона.

А вот чего в шаблоне не должно быть - это обработки данных, работы с БД.

Пока соблюдаются эти правила, твое приложение будет переносимым и настраиваемым. А на каком языке написан шаблон - PHP, Смарти или Вольт - это уже дело десятое.

Подробнее можно почитать здесь phpfaq.ru/tpl
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
index0h
@index0h
PHP, Golang. https://github.com/index0h
В случае, если шаблонизатор не используется - это вполне нормальная практика.
Ответ написан
Комментировать
zo0m
@zo0m
full stack developer
Такой стиль подходит, когда вы:
1) учитесь
2) колбасите прототип
в этом случае красивый стиль не является целью, хотя конечно хорошо когда он есть.

А вот в продакшен такое пускать стыдно :) - почитайте-погуглите на тему шаблонизаторов.
Последним пользовался для PHP : docs.phalconphp.com/ru/latest/reference/volt.html
_____

update
В комментах подробно расписано, как php безумно хорошо, а шаблонизаторы бессмысленная трата энтропии, но моя точка зрения, все же остается именно такой как выше. На дворе, поди не 95 год, господа.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
27 апр. 2024, в 20:22
20000 руб./за проект
27 апр. 2024, в 19:58
2500 руб./в час
27 апр. 2024, в 19:48
10000 руб./за проект