Как я могу программно получить префикс базы данных Joomla с помощью php?
Я иногда получаю доступ к DB Joomla через внешние скрипты. Проблема заключается в том, что если мне когда-либо понадобится изменить префикс, мне также нужно будет отредактировать мои скрипты.
Есть ли способ программно определить префикс базы данных Joomla, используя php? Если да, то как?
2 ответа
Вы можете получить префикс, используя следующее:
Для Joomla 2.5 используйте:
$app = JFactory::getApplication();
$prefix = $app->getCfg('dbprefix');
Для Joomla 3.2 используйте:
$app = JFactory::getApplication();
$prefix = $app->get('dbprefix');
Но Документация Joomla рекомендует никогда не изменять префикс. Я знаю, что какое-то программное обеспечение для резервного копирования позволяет вам частично изменить процесс восстановления, но не стоит недооценивать потенциально возможную работу.
Источник: http://docs.joomla.org/How_to_determine_your_database_prefix
Если вы получаете доступ к DB Joomla через внешние скрипты, возможно, вы не хотите инициализировать все продукты joomla только для получения префикса базы данных. Таким образом, вы можете потребовать файл configuration.php внутри вашего скрипта, создать экземпляр класса JConfig и получить dbprefix
require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;