2012-05-07 6 views
8

में एप्लिकेशन रूट यूआरएल और निर्देशिका का नाम प्राप्त करें, मैं दोनों सिस्टम जैसे आवेदन की जड़ जानना चाहता हूं। फ़ाइल अपलोड के प्रयोजनों के लिए /var/www/app/ या /app/। जब मैं अपलोड करता हूं, मुझे विश्वास है कि मुझे वेब सिस्टम अंत में लिंक के उपयोग के लिए "सिस्टम" निर्देशिका नाम की आवश्यकता है, मुझे "रिश्तेदार" पथ की आवश्यकता है। मैं यह जानकारी कैसे प्राप्त करूं?सिमफनी 2 एप्लिकेशन

पिछले एक परियोजना में, मैं स्थिरांक app*.php फाइलों में (सामने नियंत्रक)

define('APP_ROOT', __DIR__); 

आश्चर्य अगर थेरेस एक बेहतर तरीका परिभाषित?

उत्तर

16

किसी भी ContainerAware वर्ग आपके द्वारा वेब निर्देशिका का स्थान प्राप्त कर सकते हैं में,

$this->container->get('kernel')->getRootdir().'/../web'; 
+0

हम्म ... मैं अपने सिद्धांत मॉडल में हूं ... मुझे लगता है कि मैं बस अपनी पुरानी विधि का उपयोग करूंगा। मुझे इसे ध्यान में रखना चाहिए। –

+2

यदि परियोजनाओं को विंडोज वातावरण पर होस्ट किया जा सकता है, तो विभिन्न पथों को परिभाषित करने के लिए '/' के विपरीत DIRECTORY_SEPARATOR का उपयोग करना अच्छा अभ्यास नहीं होना चाहिए? –

+0

@ बिगगीमैक http://alanhogan.com/tips/php/directory-separator-not-necessary – maryisdead

9

तो कंटेनर उपलब्ध नहीं है, तो आप dependency injection उपयोग कर सकते हैं: %kernel.root_dir% सेवा विन्यास में अपनी कक्षा में एक तर्क के रूप में सेट करें।

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