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?
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
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;