Варианты встраивания кода при генерации страниц
От: x-code  
Дата: 01.03.20 14:23
Оценка:
Вопрос соврешенно теоретический.
В php возможно встраивание активного php кода в html страницу, с помощью синтаксиса <?php ?>
Понятно что нечто подобное можно сделать совершенно для любого языка — по сути это просто обработка текста.
Но вероятно, есть некие общепринятые реализации.
Вопрос — какие?
Насколько синтаксис "<? ?>" является распространенным среди других языков (не php)?
Re: Варианты встраивания кода при генерации страниц
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 01.03.20 14:42
Оценка: -1
Здравствуйте, x-code, Вы писали:

XC>В php возможно встраивание активного php кода в html страницу, с помощью синтаксиса <?php ?>


Это возможно не "в php", а в HTTP-сервере, отвечающем за обработку HTML-кода. Если он не знает ни о каком PHP, то эти вставки работать не будут. Если сервер с такими конструкциями знаком, он передает PHP-серверу то ли вырезку с PHP-кодом, то ли всю страницу целиком, не помню.

XC>Насколько синтаксис "<? ?>" является распространенным среди других языков (не php)?


Это вообще HTML-конструкция.

Apache, например, распознает форму HTML-комментария: "<!--#...-->", и обрабатывает через нее несколько своих функций (Server-Side Includes — SSI).
Re: Варианты встраивания кода при генерации страниц
От: Михaил  
Дата: 01.03.20 15:32
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Вопрос соврешенно теоретический.

XC>В php возможно встраивание активного php кода в html страницу, с помощью синтаксиса <?php ?>
XC>Понятно что нечто подобное можно сделать совершенно для любого языка — по сути это просто обработка текста.
XC>Но вероятно, есть некие общепринятые реализации.
XC>Вопрос — какие?
XC>Насколько синтаксис "<? ?>" является распространенным среди других языков (не php)?

для питона посмотрите jinja — используется в werkzeug/flask, там формат {{ }} и {% %} и в django то же самое, только язык другой.
Для asp/.net вроде используется <%...%>
В общем, каждый городит что-то свoе.
гуглится по словам html template engine.
Re: Варианты встраивания кода при генерации страниц
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.03.20 05:00
Оценка: +1
Здравствуйте, x-code, Вы писали:

XC>Вопрос соврешенно теоретический.

XC>В php возможно встраивание активного php кода в html страницу, с помощью синтаксиса <?php ?>
XC>Понятно что нечто подобное можно сделать совершенно для любого языка — по сути это просто обработка текста.
Не совсем.
XC>Но вероятно, есть некие общепринятые реализации.
XC>Вопрос — какие?
XC>Насколько синтаксис "<? ?>" является распространенным среди других языков (не php)?
Самые популярные системы шаблонизации, построенные по этому образцу — это PHP, JSP, и ASP. Ну, можно ещё добавить shtml (SSI).
У всех — свои нюансы.
1. "Обработка текста" — некорректный термин. Любой веб-сервер обрабатывает запросы. Текстовой эту обработку можно назвать разве что в случае server-side includes.
2. Общей чертой этих систем шаблонизации является примат шаблона над кодом. Т.е. можно взять обычную статическую HTML-страницу и пропихнуть её через соответствующий конвеер, получив в результате тот же результат, что и при отдаче файла через "обычный" FS-based web server.
3. Второй общей чертой является попытка представить "код" в синтаксисе, максимально похожем на HTML. То есть весь исполняемый код заворачивается в "тег", таким образом, чтобы при просмотре исходника без интерпретации, разметка была хотя бы как-то похожа на окончательную. Детали зависят от вкуса авторов системы. <?, <%, <-- — вот типичный выбор.
4. Разница сводится к тому, как именно делается обработка запроса, и к синтаксическим особенностям. Исторически PHP был интерпретатором, как и classic ASP; JSP описывает стандарт того, каким образом .jsp — шаблон трансформируется в JAVA — исходник сервлета. ASP.NET унаследовал основы синтаксиса у Classic ASP, но архитектура разрабатывалась под явным влиянием JSP.

Довольно долго в менталитете разработчиков таких платформ доминировала идея "ну, давайте сделаем такой же HTML, только интерактивный". То есть разработчику нужна, скажем, таблица с данными — он не задуряется с порождением html, css, js исходников, а "кладёт" в нужное место страницы "компонент" grid, привязывает его к бэк-енду, а деталями получаемой разметки он управляет при помощи нескольких сотен параметров компонента.

Более поздние шаблонные системы типа Razor более вольно обращаются с разметкой, сильнее отступая от HTML, и позволяя писать более компактный код. А заодно предоставляя больше контроля над тем, что уезжает в браузер клиенту.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Варианты встраивания кода при генерации страниц
От: vsb Казахстан  
Дата: 02.03.20 07:54
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Вопрос соврешенно теоретический.

XC>В php возможно встраивание активного php кода в html страницу, с помощью синтаксиса <?php ?>
XC>Понятно что нечто подобное можно сделать совершенно для любого языка — по сути это просто обработка текста.
XC>Но вероятно, есть некие общепринятые реализации.

Нет. Разве что для некоторых языков программирования.

XC>Насколько синтаксис "<? ?>" является распространенным среди других языков (не php)?


Не насколько. Каждый лепит как хочет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.