it-swarm-tr.com

Php kullanarak Joomla veritabanı önek programlı olarak nasıl alabilirim?

Bazen Joomla DB'ye harici komut dosyaları aracılığıyla erişiyorum. Sahip olduğum sorun, öneki değiştirmem gerekirse komut dosyalarımı da tekrar düzenlemem gerekecek.

Php kullanarak Joomla veritabanı önek programlı olarak belirlemek için bir yolu var mı? Evet ise, nasıl?

13
TryHarder

Öneki aşağıdakileri kullanarak alabilirsiniz:

Joomla 2.5 kullanımı için:

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

Joomla 3.2 kullanımı için:

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

Ancak Joomla belgeleri öneki asla değiştirmemenizi önerir. Bazı yedekleme yazılımlarının, geri yükleme yoluyla kısmen değişiklik yapmanıza izin verdiğini biliyorum, ancak potansiyel olarak ilgili işi küçümsemeyin.

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

16
tim.baker

Joomla DB'ye harici komut dosyaları aracılığıyla erişiyorsanız, belki de tüm joomla dosyalarını yalnızca veritabanı önekini almak için başlatmak istemezsiniz. Bu nedenle, komut dosyanızın içinde configuration.php dosyasını isteyebilir, JConfig sınıfını başlatabilir ve dbprefix'i alabilirsiniz

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