Постоянные переменные в 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. Она может быть полезна для хранения небольших данных, для хранения значительных объемов лучше ее не использовать, а завести отдельную таблицы в базе данных.
Последние статьи
- 03.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 3. Все операторы PHP с примерами, с выводом работы кода на экран.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 2. Типы данных в PHP с примерами.
- 02.04.24ИТ / Уроки PHP Уроки простыми словами. Урок 1. Коротко о языке веб-программирования PHP. Основы синтаксиса.
- 09.11.23ИТ / Базы данных Ошибки при переходе с MySQL 5.6 на 5.7 и как их исправить - импорт дампа БД завершился ошибкой или не работает INSERT. Отключение строгого режима STRICT_TRANS_TABLES или использование IGNORE
- 08.07.22ИТ / Разное Конвертация офисных файлов DOC, DOCX, DOCM, RTF в форматы DOCX, DOCM, DOC, RTF, PDF, HTML, XML, TXT без потерь и изменения разметки