Помощь к парсеру шаблонов

1. Удаление HTML-комментариев

Назначение: Удаляет HTML-комментарии (<!-- ... -->), кроме условных для IE.

<!-- Это комментарий -->
<p>Текст</p>
<!--[if IE]>Специальный код для IE<![endif]-->
<p>Текст</p>
<!--[if IE]>Специальный код для IE<![endif]-->

2. Вставка подшаблонов: {{template footer}}

Назначение: Включает подшаблон через template().

{{template footer}}
<?php include template(str_replace('/', DIRECTORY_SEPARATOR, 'footer')); ?>

3. Вставка файлов: {{include file.php}}

Назначение: Включает указанный файл.

{{include header.php}}
<?php include 'header.php'; ?>

4. Вставка кода PHP (Не подерживает вложения): {{php echo 'Hello';}}

Назначение: Выполняет PHP-код.

{{php echo 'Hello';}}
<?php echo 'Hello'; ?>

5. Блоки условий: {{if условие}}

Назначение: Преобразует условные блоки в PHP-код.

{{if $var == 1}}
    <p>Переменная равна 1</p>
{{elseif $var == 2}}
    <p>Переменная равна 2</p>
{{else}}
    <p>Переменная не равна 1 или 2</p>
{{/if}}
<?php if($var == 1) { ?>
    <p>Переменная равна 1</p>
<?php } elseif ($var == 2) { ?>
    <p>Переменная равна 2</p>
<?php } else { ?>
    <p>Переменная не равна 1 или 2</p>
<?php } ?>

6. Циклы for: {{for условие}}

Назначение: Преобразует циклы for в PHP-код.

{{for $i = 0; $i < 10; $i++}}
    <p>Итерация: {{$i}}</p>
{{endfor}}
<?php for ($i = 0; $i < 10; $i++) { ?>
    <p>Итерация: <?php echo $i; ?></p>
<?php } ?>

7. Циклы foreach: {{loop массив переменная}}

Назначение: Преобразует циклы foreach в PHP-код.

{{loop $items $item}}
    <p>{{$item}}</p>
{{/loop}}
<?php if(is_array($items)) foreach($items AS $item) { ?>
    <p><?php echo $item; ?></p>
<?php } ?>

8. Вставка функций PHP: {{time()}}

Назначение: Выводит результат функции PHP.

{{time()}}
<?php echo time(); ?>

9. Вставка переменных: {{$variable}}

Назначение: Выводит значения переменных.

{{$user.name}}
{{$items[0]}}
{{$object->property}}
<?php echo $user.name; ?>
<?php echo $items[0]; ?>
<?php echo $object->property; ?>

10. Вставка констант PHP: {{SITE_NAME}}

Назначение: Выводит значения констант.

{{SITE_NAME}}
<?php echo SITE_NAME; ?>

11. Защита от прямого доступа к файлу

Назначение: Предотвращает прямой доступ к файлу.

<?php if(!defined('BOARD'))die('Access Denied'); ?>

12. Удаление лишних пробелов и переносов строк

Назначение: Оптимизирует шаблон.

<div>
    <p>Текст</p>
</div>
<div><p>Текст</p></div>

13. Минификация JavaScript и CSS

Назначение: Минифицирует JavaScript и CSS.

<script>
    function test() {
        console.log('Hello');
    }
</script>
<script>function test(){console.log('Hello');}</script>