Come posso ottenere a livello di codice il prefisso del database Joomla usando php?


13

A volte accedo al DB di Joomla tramite script esterni. Il problema che ho è che se dovessi mai cambiare il prefisso, dovrò modificare di nuovo anche i miei script.

C'è un modo per determinare a livello di codice il prefisso del database Joomla usando php? Se si, come?

Risposte:


16

È possibile ottenere il prefisso utilizzando quanto segue:

Per Joomla 2.5 utilizzare:

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

Per Joomla 3.2 utilizzare:

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

Ma la documentazione di Joomla consiglia di non modificare mai il prefisso. So che alcuni software di backup ti consentono di effettuare una modifica durante un ripristino, anche se non sottovalutare il lavoro potenzialmente coinvolto.

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


4
La documentazione di Joomla non significa che non devi mai modificare db_prefix. Dice solo di non modificare il valore, nelle impostazioni di configurazione globali, perché ciò ovviamente romperà il sito, perdendo la connessione al database. La modifica del valore in com_config non è considerata una modifica del prefisso db, in quanto non apporta alcuna modifica al database stesso. Il prefisso del database può essere modificato, supponendo che qualcuno sappia cosa sta facendo.
FFrewin

4

Se si accede al DB di Joomla tramite script esterni, forse non si desidera inizializzare tutti gli elementi di Joomla solo per ottenere il prefisso del database. Quindi, puoi richiedere il file configuration.php all'interno del tuo script, creare un'istanza della classe JConfig e ottenere il dbprefix

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.