 
Функции и классы, определяемые пользователем
Работа с пользовательскими функциями производится обычным для PHP образом.
Однако нужно сделать одно важное замечание:
Пользовательские функции желательно определять в отдельных файлах!
Если двум блокам на одной странице назначить один и тот же шаблон с определенной внутри функцией, то это вызовет ошибку, так как в PHP нельзя функцию определять дважды.
Ошибка произойдет даже при попытке примерить шаблон какому-либо блоку во время процедуры назначения шаблона.
Поэтому, чтобы застраховаться от подобных случаев, лучше помещать коды определения функций в отдельные файлы, которые затем подключать в шаблонах с помощью стандартных конструкций require_once или include_once.
Рекомендуем помещать коды определения всех функций, используемых в шаблоне, в один файл (в папке templates) с именем, совпадающим с именем соответствующего шаблона. Расширение – произвольное, лучше, php. Пример:
news.tpl | news.php | |
<?php
require_once 'news.php';
. . .
$dat2 = treatData($dat);
. . .
outputImage();
. . .
?>
|
<?php
function treatData($dat)
{
. . .
}
function outputImage()
{
. . .
}
?>
|
|
Аналогично нужно поступать и с классами, как с собственными, так и со сторонними.
|