2009-10-20 16 views
7

में यूआरएल पैरामीटर का उपयोग कैसे करें मैं अपने बूटस्ट्रैप फ़ाइल में एक यूआरएल पैरामीटर कैप्चर करने की कोशिश कर रहा हूं लेकिन कई प्रयासों के बाद मैं इसे करने में सक्षम नहीं हूं।बूटस्ट्रैप

मैं इस की कोशिश की है, लेकिन यह काम नहीं करता है:

protected function _initGetLang() { 
    $frontController = Zend_Controller_Front::getInstance(); 
    $lang= $frontController->getParam('lang'); 
} 

इस यह करने के लिए सही तरीका है?

Thks।

उत्तर

9

आप बूटस्ट्रैप से अनुरोध पैराम तक पहुंच नहीं पाएंगे क्योंकि यह अभी तक प्रेषण/रूटिंग प्रक्रिया के माध्यम से नहीं चला है। मुझे लगता है कि आपको Controller Plugin का उपयोग करके बेहतर सेवा दी जाएगी, यूआरएल के आधार पर कार्य करने के लिए वे सबसे अच्छा काम करते हैं। या यदि आपको बूटस्ट्रैप में इसे पूरी तरह से करना है, getRequestUri() या $_GET उपलब्ध है, या आप स्वयं को यूआरएल पार्स करने के लिए एक त्वरित स्क्रिप्ट लिख सकते हैं।

संपादित करें:

मैंने पहले भी इस तरह की कुछ मूर्खतापूर्ण सामान किया है इससे पहले कि मैं पता लगा कि कैसे प्लगइन्स काम:

/** 
* Grab the module name without a request instance 
* 
* @return string The module name 
*/ 
public static function getModuleName() 
{ 
    $uri = ltrim($_SERVER["REQUEST_URI"], "/"); 
    $module = substr($uri, 0, strpos($uri, "/")); 
    return $module; 
} 

यह कम से कम आप एक मॉड्यूल का नाम देना होगा कि आप बूटस्ट्रैप में switch पर हो सकता है। यद्यपि आपको सही ढंग से किए गए प्लगइन के साथ कुछ भी करने में सक्षम होना चाहिए।

+2

भी देखें इस Zend Devzone लेख: http://devzone.zend.com/article/3372 –

+0

अपने जवाब के लिए तुम लोगों को धन्यवाद, मैंने पहले प्लगइन दृष्टिकोण की कोशिश की, लेकिन यह मैं चाहता था, फिर भी मैं नहीं किया यह लेख पढ़ेगा कि 'लोनट जी। स्टेन' यह जांचने के लिए कि क्या मैंने कुछ गलत किया है, अगर यह काम नहीं करता है, तो मैं $ _GET चीज करूंगा जो 'टाइपोनिअर' सुझाव देता है। – elbicho

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