web-dev-qa-db-fra.com

Comment puis-je obtenir par programmation le préfixe de la base de données Joomla en utilisant php?

J'accède parfois à la base de données Joomla via des scripts externes. Le problème que j'ai, c'est que si jamais je devais changer le préfixe, je devrais aussi éditer mes scripts.

Existe-t-il un moyen de déterminer par programme le préfixe de la base de données Joomla à l'aide de php? Si oui comment?

13
TryHarder

Vous pouvez obtenir le préfixe en utilisant les éléments suivants:

Pour Joomla 2.5, utilisez:

$app = JFactory::getApplication(); 
$prefix = $app->getCfg('dbprefix');

Pour Joomla 3.2, utilisez:

$app = JFactory::getApplication(); 
$prefix = $app->get('dbprefix');

Mais La documentation de Joomla vous recommande de ne jamais modifier le préfixe. Je sais que certains logiciels de sauvegarde vous permettent d’apporter des modifications en cours de restauration, sans toutefois sous-estimer le travail potentiellement impliqué.

Source: http://docs.joomla.org/How_to_determine_your_database_prefix

16
tim.baker

Si vous accédez à la base de données Joomla via des scripts externes, vous ne voulez peut-être pas initialiser tous les fichiers joomla uniquement pour obtenir le préfixe de la base de données. Donc, vous pouvez exiger le fichier configuration.php dans votre script, instancier la classe JConfig et obtenir le préfixe db

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
4
csbenjamin