Я собираюсь написать CMS, но прямо сейчас я записываю все свои идеи и пытаюсь изложить все свои концепции прямо перед тем, как начать. Одна из вещей, которые меня разрывают, заключается в том, использовать ли язык шаблонов и анализировать страницы веб-сайта и заменять теги шаблонов элементами контента, или просто разработать сайт с помощью обычного PHP и заставить CMS генерировать структуры данных, которые помогают. Например:
{navigation: products}
vs.
foreach($cms_label['products'] as $product) {
echo '<li class="product_nav">'.
'<a href="products/{$product.id}">{$product.name}</a>'.
"</li>\n";
}
Первый вариант чище, но требует изобретения языка и анализа каждой страницы перед отображением. Последний менее чистый, но я думаю, что он мог бы отлично работать, если бы CMS просто предоставляла данные для всего кода. Но будет ли это считаться смешением логики с презентацией? Другой альтернативой, которую я рассмотрел, является использование функций PHP, похожих на теги шаблона:
<?php navigation('products'); ?>
Что ты думаешь?
Имейте в виду, что мне не нужно делать ничего сложнее, чем добавить страницу в определенное место или написать неупорядоченный список; остальное будет обрабатывать CSS.