PDO с Drupal 7?
Я не хочу использовать правила drupal db_. Я бы предпочел использовать свои собственные методы pdo для запросов и обновлений баз данных и т. Д. Но мне удалось заставить работать pdo, единственная проблема заключается в том, что у меня есть Чтобы использовать соединение на каждой пользовательской странице, некоторые пользователи в моем сообществе могут редактировать страницы и видеть информацию о соединении. require & require_once не работает.
Кто-нибудь еще имел эту проблему и знает, как ее избежать?
2 ответа
Вы можете создать свой собственный модуль и использовать хук инициализации:
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_init/7
function yourmodulename_init() {
// This code will be executed on every page
}
Однако вы должны попытаться использовать механику базы данных drupal, так как она поставляется с множеством лучших практик и мощных инструментов. Например, интеграция просмотров:
https://api.drupal.org/api/views/views.api.php/function/hook_views_data/7
В Drupal 7, Database::getConnection
позволяет получить DatabaseConnection
объекты для всех настроенных баз данных. А также DatabaseConnection
продолжается PDO
так что если вы действительно хотите обойти API базы данных Drupal (который сам основан на PDO и либо повторно использует, либо расширяет классы PDO повсюду), вы можете использовать его так же, как свой собственный PDO
объект.
Но если пользователи вашего сообщества могут редактировать вашу пользовательскую страницу, я предполагаю, что вы на самом деле встраиваете PHP-код в узлы Drupal, используя PHP-фильтр. Что само по себе очень плохая идея (хуже, чем игнорирование API базы данных Drupal). Вместо этого вам следует подумать о написании пользовательских модулей с учетом ваших потребностей.