CONTENT MANAGEMENT SYSTEM
Blox Logo
Blox CMS — блочный метод сайтостроения
.
 
Blox Help

←→

Функции и классы, определяемые пользователем

Работа с пользовательскими функциями производится обычным для PHP образом. Однако нужно сделать одно важное замечание:
Пользовательские функции желательно определять
в отдельных файлах!

Если двум блокам на одной странице назначить один и тот же шаблон с определенной внутри функцией, то это вызовет ошибку, так как в PHP нельзя функцию определять дважды. Ошибка произойдет даже при попытке примерить шаблон какому-либо блоку во время процедуры назначения шаблона.

Поэтому, чтобы застраховаться от подобных случаев, лучше помещать коды определения функций в отдельные файлы, которые затем подключать в шаблонах с помощью стандартных конструкций require_once или include_once.

Рекомендуем помещать коды определения всех функций, используемых в шаблоне, в один файл (в папке templates) с именем, совпадающим с именем соответствующего шаблона. Расширение – произвольное, лучше, php. Пример:
news.tplnews.php
<?php

    require_once 'news.php';
    . . .     
    $dat2 = treatData($dat);
    . . . 
    outputImage();
    . . . 
?>
<?php

    function treatData($dat)
    {
        . . . 
    }


    function outputImage()
    {
        . . . 
    }
    
?>

Аналогично нужно поступать и с классами, как с собственными, так и со сторонними.