<ctpp/> home .:. download .:. documentation .:. faq  
o Home
    Download!
    Installation

o Help
    What is the CTPP library?
    How it works?
    Online documentation
    FAQ

o In action
    Projects
    First steps
    HOWTOs..
    Development

o In deveopment
    Schedule
    Credits




Вызов функции из функции

В отличие от первой версии, шаблонизатор CTPP2 позволяет указывать функцию в виде аргумента другой функции. Делается это следующим образом:


<TMPL_var HREF_PARAM("foo", DATE_FORMAT(1200490323, "%Y-%m-%d %H:%M:%S"))>

Когда компилятор шаблонов находит подобную конструкцию, генерируется следующий код

N + 0: PUSH      STRING (`foo`)
N + 1: PUSH      INT (1200490323)
N + 2: PUSH      STRING (`%Y-%m-%d %H:%M:%S`)
N + 3: SYSCALL   DATE_FORMAT(ARGS: 2)
N + 4: SYSCALL   HREF_PARAM(ARGS: 2)
N + 5: OUTPUT

То есть, результат выполнения функции DATE_FORMAT помещается в стек как обычная переменная. При исполнении следующей функции (HREF_PARAM), результат доступен уже как обычный параметр функции. Глубина вложенности функций друг в друга не ограничена что позволяет разрабатывать действительно гибкие шаблоны.


Copyright © 2003 - 2008 CTPP Dev Team.