Постоянные переменные в Drupal, как работает функция variable set
Для хранения данных принято использовать базы данных или файлы. Но бывает создавать отдельную таблицу в базе данных нет желания или это нецелесообразно, а хранить данные в файле не удобно. Тогда разработчик задумывается о других способах хранения информации проекта.
В Друпал можно использовать технологию хранения постоянных переменных. Это быстрое решение для сохранения практически любых данных. Сначала необходимо подготовить данные, затем достаточно вызвать функцию variable_set. Эта функция принимает два параметра, первый – имя переменной, второй – ее значение. Имя переменной следует задавать прописными буквами на английском языке, значением может быть любая переменная, например, сериализованный массив.
variable_set('variable_name', 'variable_value');
Когда переменная сохранена, в дальнейшем ее можно получить при помощи функции variable_get. Достаточно указать в параметрах имя получаемой переменной и значение по умолчанию - оно будет использовано, если такая переменная не была установлена.
variable_get('variable_name', 'default_value');
Для удаления ранее установленной переменной можно воспользоваться специальной функцией – variable_del. Достаточно указать в параметре название переменной.
variable_del('variable_name');
Как устроена функция variable_set? Она просто сохраняет значение в базу данных Друпал, в таблицу variable. В этой таблице два столбца – название переменной и ее данные в виде blob. Перед сохранением, данные при необходимости сериализуются. Важно понимать, что variable_set может помешать реализации мультиязычности на сайте, так как о переводе данных из этой таблицы нужно позаботиться самостоятельно.
Какие еще есть недостатки variable_set? Использовать эту функцию следует только хранения небольших данных, а не для каких-то больших массивов информации, хотя эта функция и позволяет делать это. Не рекомендуется этого делать, так как при каждом запросе страницы происходит загрузка всех переменных из базы данных, даже если Вы не вызывали variable_get. Представьте, как это может замедлить скорость сайта, если были сохранены огромные значения и таких переменных множество. Функция variable_get всего лишь получает готовую информацию из уже загруженных ранее данных.
Как получить список всех переменных, установленных variable_get? Для этого опять же можно обратиться к таблице Друпал – variable. Посмотрите какие значения есть в Вашем проекте и какие значения присутствуют там после новой установки Друпал. Можно быстро сделать новую установку Друпал или посмотреть эту таблицу на сайте описания таблиц Друпал. Так Вы увидите различия и сможете составить список всех установленных пользовательских переменных. После чего можно, например, удалить их все при помощи variable_del.
Таким образом, мы рассмотрели устройство функции variable_set. Она может быть полезна для хранения небольших данных, для хранения значительных объемов лучше ее не использовать, а завести отдельную таблицы в базе данных.
Последние статьи
- 09.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки
- 07.07.22ИТ / Безопасность Как защитить исходный код PHP, JS, HTML, CSS - обфускация, минимизация, сжатие и шифрование
- 06.07.22ИТ / Безопасность Подключение не защищено, проблема с Lets Encrypt - как исправить истекший 30.09.2021 DST Root CA X3, удалить его вручную и установить ISRG Root X1. Пример на MS Windows 7
- 08.07.21ИТ / Разное Как бесплатно сделать перевод для сайта без API, перевод документов в Google Translate
- 06.07.21ИТ / Разное Как сделать кнопку подписки на сайте, базу подписчиков и автоматическую рассылку