मैं प्रोग्राम प्रोग्राम को जूमला डेटाबेस का उपसर्ग php का उपयोग करके कैसे प्राप्त कर सकता हूं?


13

मैं कभी-कभी बाहरी स्क्रिप्ट के माध्यम से जूमला डीबी तक पहुंचता हूं। मेरे पास समस्या यह है कि अगर मुझे कभी उपसर्ग बदलने की आवश्यकता है, तो मुझे अपनी स्क्रिप्ट को फिर से संपादित करने की आवश्यकता होगी।

क्या php का उपयोग करके जूमला डेटाबेस उपसर्ग को प्रोग्रामेटिक रूप से निर्धारित करने का एक तरीका है? यदि हाँ, तो कैसे?

जवाबों:


16

आप निम्नलिखित का उपयोग करके उपसर्ग प्राप्त कर सकते हैं:

जूमला 2.5 के उपयोग के लिए:

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

जूमला 3.2 के लिए उपयोग करें:

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

लेकिन जूमला प्रलेखन की सलाह है कि आप उपसर्ग को कभी भी संशोधित न करें। मुझे पता है कि कुछ बैकअप सॉफ़्टवेयर आपको एक पुनर्स्थापना के माध्यम से एक बदलाव का रास्ता बनाने की अनुमति देता है, हालांकि संभावित रूप से शामिल काम को कम मत समझो।

स्रोत: http://docs.joomla.org/How_to_determine_your_database_prefix


4
जूमला प्रलेखन का मतलब यह नहीं है कि आपको कभी भी db_prefix को संशोधित नहीं करना चाहिए। यह केवल वैश्विक कॉन्फ़िगरेशन सेटिंग्स में मान को नहीं बदलने के लिए कहता है, क्योंकि यह स्पष्ट रूप से साइट को तोड़ देगा - डेटाबेस से कनेक्शन खो कर। Com_config में मान को बदलना db उपसर्ग परिवर्तन नहीं माना जाता है, क्योंकि यह डेटाबेस में कोई परिवर्तन नहीं करता है। डेटाबेस उपसर्ग को बदला जा सकता है, यह मानते हुए कि कोई जानता है कि वह क्या कर रहा है।
FFrewin

4

यदि आप बाहरी स्क्रिप्ट के माध्यम से जूमला डीबी तक पहुंच रहे हैं, तो शायद आप केवल डेटाबेस उपसर्ग प्राप्त करने के लिए सभी जूमला सामान को इनिशियलाइज़ नहीं करना चाहते हैं। इसलिए, आपको अपनी स्क्रिप्ट के अंदर configuration.php फ़ाइल की आवश्यकता हो सकती है, JConfig क्लास को तुरंत करें और dbprefix प्राप्त करें

require_once $path_to_joomla_folder . "/configuration.php";
$config = new JConfig;
$dbprefix = $config->dbprefix;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.