PHPを使用してJoomlaデータベースのプレフィックスをプログラムで取得するにはどうすればよいですか?


13

私は時々外部スクリプトを介してJoomla DBにアクセスします。私が抱えている問題は、プレフィックスを変更する必要がある場合、スクリプトを再度編集する必要があることです。

PHPを使用してJoomlaデータベースのプレフィックスをプログラムで決定する方法はありますか?はいの場合、どのように?

回答:


16

次を使用してプレフィックスを取得できます。

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


4
Joomlaドキュメントは、db_prefixを決して変更してはならないという意味ではありません。データベースへの接続を失うことにより、明らかにサイトを破壊するため、グローバル構成設定で値を変更しないように言っています。com_configの値を変更しても、データベース自体は変更されないため、dbプレフィックスの変更とは見なされません。データベースのプレフィックスは、誰かが自分のしていることを知っていると仮定して変更できます。
FFrewin

4

外部スクリプトを介してJoomla DBにアクセスしている場合は、データベースプレフィックスを取得するためだけにすべてのjoomlaスタッフを初期化する必要はありません。そのため、スクリプト内でconfiguration.phpファイルを要求し、JConfigクラスをインスタンス化し、dbprefixを取得できます。

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.