Бесплатная CMS для вашего сайта Разумная альтернатива WordPress

Set/get-переменные

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

В шаблонах set/get-переменные используются для управления некоторыми предопределенными данными. Обычно используется custom/set_val.php. Например:

// произвольный адрес загрузки библиотеки jQuery
mso_set_val('jquery_url', 'URL-адрес загрузки jQuery');

// html-атрибуты для тэга HEAD 
mso_set_val('head_section_html_add', 'lang="ru"');

// css-классы для BODY
mso_set_val('body_class', 'my-body');

Set/get-переменная может быть задана в любой части сайта, главное, чтобы это было сделано до её использования.

Добавление set/get-переменной

Для этого используется функция mso_set_val().

mso_set_val($key, $val, $val_val = null)

$key — ключ (строка)
$val — значение (любой тип)
$val_val — если не равен null, то указывает на возвращаемый ключ массива

Получение set/get-переменной

Для этого используется функция mso_get_val().

mso_get_val($key = '', $default = '', $array = false)

$key — ключ (строка)
$default — значение, если ключа нет 
$array — если равен true, то возвращаемый ключ равен $default

Примеры

Простой вариант использования

mso_set_val('myId', 777);
$m = mso_get_val('myId', 0); // указываем значение по умолчанию

pr($m); // выведет 777

Возврат всех ключей массива

mso_set_val('users', 'name1', 'Вася');
mso_set_val('users', 'name2', 'Васечкин');
$m = mso_get_val('users');

pr($m);

Array
(
    [name1] => Вася
    [name2] => Васечкин
)

Выборочный ключ массива

mso_set_val('users', 'name1', 'Вася');
mso_set_val('users', 'name2', 'Васечкин');
$m = mso_get_val('users', 'name2', true);

pr($m); // Выведет Васечкин