2011-04-13 17 views
8

में PHP फ़ाइल समेत मेरे पास एक लॉगर क्लास है जिसे मुझे अपने एप्लिकेशन प्रोसेसिंग को लॉग करने की आवश्यकता है। मैं फ़ाइल को जूमला में कैसे शामिल कर सकता हूं, जब मेरी फ़ाइल फ़ोल्डर में स्थित है। मैं हमेशा ../../../ का उपयोग करके फ़ाइल को शामिल नहीं करना चाहता हूं, क्योंकि तब भी जब भी मैं अपनी कक्षा शामिल करता हूं तो मुझे पथों को मैन्युअल रूप से गिनना होगा। क्या उस लाइन को उत्पन्न करने का कोई तरीका है जिसमें उस फ़ाइल को अपेक्षाकृत शामिल किया जाएगा?जूमला

+2

मुझे लगता है यह "बंद" बहुत unconstructive के रूप में। हालांकि नीचे रचनात्मक प्रतिक्रियाएं हैं। ऐसा लगता है कि कुछ लोग अपने कर्म बिंदु विशेषाधिकारों का दुरुपयोग करने पर उच्च हो जाते हैं। –

उत्तर

12

आप यहाँ से JPath के लिए जूमला स्थिरांक इस्तेमाल कर सकते हैं: तो जैसे http://docs.joomla.org/JPath:

:

include_once (JPATH_ROOT.DS.'includes'.DS.'some.class.php'); 

आप निम्न में से किसी के साथ JPATH_ROOT जगह ले सकता है

JPATH_SITE 
JPATH_BASE 
+2

कृपया ध्यान दें कि डीएस 2.5 में बहिष्कृत है और 3.0 में हटा दिया गया है। –

+0

आप जूमला 3 में सही @ वेलेंटीन देस्पा हैं, यह 'DIRECTORY_SEPARATOR' – bumerang

+0

है, आपको इसकी आवश्यकता भी नहीं है। बस '/' का प्रयोग करें –

1

उपयोग इस हर जगह

<?php 
include $_SERVER['DOCUMENT_ROOT']."/lib/sample.lib.php"; 
?> 
2

जूमला 2.5 + में कभी भी कक्षा शामिल करने के लिए include_once या requ_once का उपयोग न करें फ़ाइल। PHP को यह जांचना है कि फ़ाइल लोड करने से पहले फ़ाइल पहले ही लोड हो चुकी है या नहीं।

चूंकि जूमला 2.5 के बाद जेएलओडर :: रजिस्टर() विधि है जो किसी भी स्मृति का उपयोग नहीं करती है जब तक कि आपको कक्षा के भीतर कोई विधि निष्पादित करने की आवश्यकता न हो।

http://developer.joomla.org/manual/ch01s04.html

संबंधित मुद्दे