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