$wpdb Базы данных Wordpress по сравнению с get_option ()

Таким образом, я разрабатывал плагины, которые создают, взаимодействуют и удаляют к базе данных при помощи функций get_option.

Я теперь видел, что некоторые учебные руководства показывают, как использовать глобальный $wpdb способ получить значения от базы данных.

Каково различие между этими двумя и один лучше, чем другой?

5
задан Corey Ballou 6 January 2010 в 23:39
поделиться

4 ответа

Использование вспомогательных функций WordPress (не ограничиваясь функцией get_option()) обеспечит вашему подключаемому устройству удобство работы в прямом эфире, когда в новую версию WordPress будут внесены изменения, которые потенциально могут повлиять на ваш код.

Вам рекомендуется понять и использовать их помощников, прежде чем рассматривать возможность написания своего собственного кода.

2
ответ дан 14 December 2019 в 19:15
поделиться

Глобальная переменная $ wpdb более мощная, чем функция get_option (), поскольку она позволяет вам манипулировать и извлекать данные из любой таблицы в wordpress, включая все таблицы плагинов. Это дает вам больше возможностей, чем просто доступ к таблице параметров.

Вам следует использовать get_option () , когда вы специально извлекаете параметр из таблицы параметров, используемый для параметров плагина. Другие варианты этой функции: add_option , update_option и delete_option . Все связанные функции должны использоваться специально для параметров плагина.

0
ответ дан 14 December 2019 в 19:15
поделиться

Я использовал оба ранее. Если вы можете использовать функции помощника, вы должны сделать это. Если вам нужно сделать что-то очень на заказ, вы можете использовать глобальный. Я использую только глобальную, если я просто должен написать свой собственный запрос

0
ответ дан 14 December 2019 в 19:15
поделиться

Для хранения параметров плагина или небольших данных, связанных с сообщениями, идеально подходят get_option (), get_post_meta () и связанные с ними функции. Для работы с реляционной базой данных лучшим выбором будет $ wpdb.Вот почему:

$ wpdb - это класс, основанный на классе PHP ezSQL для взаимодействия с базой данных. Некоторые функции включают:

1) обеспечивает защиту от SQL-инъекций с помощью методов $ wpdb-> prepare (), $ wpdb-> insert () и $ wpdb-> update (). get_option () - это вспомогательная функция, которая позволяет вам создавать пару Key => Value.

2) $ wpdb прост в использовании. Он может возвращать наборы записей в различных формах: $ wpdb-> get_results ($ sql, ARRAY_A) массив или ассоциативные массивы, содержащие возвращенные строки с именами столбцов, являющимися ключами. $ wpdb-> get_results ($ sql) вернет массив объектов с именем столбца в качестве свойств объекта. $ wpdb-> get_var ($ sql) вернет скалярный результат (первый столбец первой строки набора данных из запроса). $ wpdb-> get_row ($ sql) вернет одну строку как объект.

3) $ wpdb позволяет вам взаимодействовать с любой таблицей в базе данных, даже выполняя запросы произвольной формы с помощью $ wpdb-> query ($ sql)

4) WordPress, скорее всего, гарантирует, что ваши взаимодействия с $ wpdb не будут необходимо изменить, если они добавляют поддержку баз данных, отличных от MySQL. Первоначальный класс ezSQL был предназначен для обеспечения некоторой кросс-поддержки баз данных.

Итак, если вам нужно работать с данными реляционным способом, $ wpdb - действительно отличный выбор для WordPress.

get_option () и get_post_meta () обеспечивают простой способ работы с небольшими объемами данных, относящихся либо к конкретному сообщению в случае get_post_meta (), либо в виде пары Key => Value с get_option ().

Одна из приятных особенностей этого заключается в том, что вы можете сохранить сериализованный массив или объект и получить эти данные обратно в виде массива или объекта. Это дает вам очень простой способ работать с полями данных, как если бы у вас была таблица базы данных. Однако это не работает, если вам нужно связать данные между таблицами или выполнить суммирование, подсчет или другие вычисления базы данных для сериализованных данных. В таких случаях лучше подойдет полноценная таблица и $ wpdb.

3
ответ дан 14 December 2019 в 19:15
поделиться
Другие вопросы по тегам:

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