Задать вопрос
@eugene159

Зачем в modx использовать getOption, если переменная и так доступна?

В интернете есть статьи, где приведен код некоторых сниппетов. И в коде параметры сниппетов достаются вот так:
$word = $modx->getOption('word', $scriptProperties, '');

У меня вопрос: зачем это использовать, если $word и так доступен?
Я написал вот такой код на главной:
[[ my_snippet? word=`hello!` ]]

А вот код сниппета my_snippet:
<?php
echo $word;

И все прекрасно работает. Зачем тогда писать конструкции типа этой?
$word = $modx->getOption('word', $scriptProperties, '');
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
i__dmitry
@i__dmitry
Weaving a web
В большинстве случаев разницы нет.
$word; // Hello
$scriptProperties['word']; // Hello
$modx->getOption('word', $scriptProperties, ''); // Hello

Но, если ознакомиться с документацией по функции getOption, можно заметить, что данная функция сначала проверяет наличие ключа из первого параметра в массиве, указанном вторым параметром, в случае отсутствия ключа ищет наличие этого ключа в системных настройках MODX, и уже затем, если отсутствует и настройка, возвращает значение из третьего параметра. Это может быть полезно, если в твоём пакете есть настройки по умолчанию, которые хранятся в системных настройках MODX, и которые можно переопределить через вызов сниппета.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы