Постоянные переменные в 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. Она может быть полезна для хранения небольших данных, для хранения значительных объемов лучше ее не использовать, а завести отдельную таблицы в базе данных.
Последние статьи
- ИТ / Разное 08.07.21 Как бесплатно сделать перевод для сайта без API, перевод документов в Google Translate
- ИТ / Разное 06.07.21 Как сделать кнопку подписки на сайте, базу подписчиков и автоматическую рассылку
- Еда / Разное 06.07.21 Как быстро приготовить вкусные жаренные пирожки с картошкой и луком
- ИТ / Разное 04.07.21 Кэширование - создание, загрузка и сброс. Где хранить кэш, способы и виды кэширования
- ИТ / Базы данных 03.07.21 Свой NoSQL - хранение данных в файлах и не только в базе данных. Хранение настроек, небольших данных и файлов кеширования