title
Description
Body
Обращаюсь за помощью к форумчанам.
Требуется допилить один (небольшой) класс.
Данный класс используется для реализации MVC модели.
Есть шаблоны (tpl-файлы), есть сгенерированные шаблоны (tpl.php - файлы) с нативным PHP - синтаксисом.
Основная проблема состоит в кривом построении регулярок (да да, я их не умею делать).
Известные баги :
1. Неверная обрезка кода шаблонов, а конкретно, кода, который следует после последнего блока.
2. Проблема с условиями, не обрабатывает конструкции типа
|
|
Начало работы :
|
|
Папку с шаблонами, папку для сгенерированных файлов и расширение шаблонов можно указать при создании экземляра.
|
|
Описание команд :
1. Блоки
|
|
Аналогичен коду на PHP (конечно же с switch(){***} и endswitch;)
|
|
Если использовать модификатор ! (block !*somename*), то это будет ознать не соотвествие указанному блоку.
2. Циклы
|
|
~PHP
|
|
3. Условия
|
|
~PHP
|
|
Можно использовать модификаторы :
if !$somevar =
|
|
if ~$somevar =
|
|
if !~$somevar =
|
|
4. Переменные
|
|
~PHP
|
|
За говнокод можете пинать
P.S: Есть рабочий вариант этого класса, только без генерации php файлов, т.е, выполнения по ходу разбора.
Отредактировано Morgan (2010.08.13 08:34)
Неактивен
А че там их составлять? домой приеду, дам уже готовые решения! когда то сам пытался писать шаблонизатор, но понял что это неблагодарное дело!
Неактивен
откоментил бы класс, что делает метод, что ему подавать на вход, что должно быть на выходе. так много проще разобраться будет.
Добавлено спустя 1 минуту 30 секунд:
Nu3oN написал:
понял что это неблагодарное дело!
тоже когда-то очень давно пытался, но до сих пор помню, что сложновато было.
Неактивен
ну да... я пока писал цикл, у меня ушло на него чуть ли не неделя! сколько было психов...
Отредактировано Nu3oN (2010.08.12 18:53)
Неактивен
А не лучше указывать путь к шаблонам так $template -> dir = 'template/'; по мне так удобней! и __конструкт() юзать не надо
Отредактировано Nu3oN (2010.08.12 19:06)
Неактивен
Nu3oN, ну я писал под свои нужды.
тем более, можно указать так
|
|
Неактивен
Собственно вот простенький шаблонизатор!
написал сейчас по памяти! свой походу удалил...
Ша тогда буду писать, и выкладывать...
|
|
Отредактировано Nu3oN (2010.08.12 20:52)
Неактивен
Morgan написал:
и зачем он нам?)
Ну тебе ж нужно было:
Morgan написал:
3. Условия
{if $somevar}
// результат
{/if $somevar}
-----------
4. Переменные
{$somevar}
или я тебя не так понимаю?
Добавлено спустя 3 минуты 50 секунд:
Все понял... я дурко
Отредактировано Nu3oN (2010.08.12 21:24)
Неактивен
|
|
такого будет достаточно
Неактивен