2009-10-20 13 views
7

Bootstrap dosyamda bir URL parametresi yakalamaya çalışıyorum ancak birkaç denemeden sonra yapamıyorum.Önyükleme dosyasında URL parametrelerine nasıl erişilir?

Bu denedim ama çalışmıyor:

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

bunu yapmak için doğru yolu var mı?

Thks.

cevap

9

Henüz önyükleme/yönlendirme işleminden geçmediği için önyükleme paketinden istek paramlarına erişemezsiniz. Ben bir Controller Plugin kullanarak daha iyi hizmet alacağınızı düşünüyorum, URL'ye göre eylemleri gerçekleştirmek en iyi yaptıkları şeydir. Ya da önyükleme sırasında kesinlikle yapmanız gerekiyorsa, getRequestUri() veya $_GET kullanılabilir veya URL'yi kendiniz ayrıştırmak için hızlı bir komut dosyası yazabilirsiniz.

Düzenleme: eklentileri nasıl çalıştığını anladım önce geçmişte bu gibi bazı saçma şeyler yaptık

:

/** 
* 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; 
} 

Bu en azından size bir modül adı vereceğini sizi önyüklemede switch olabilir. Gerektiğinde eklentileri doğru bir şekilde yapmanız gerekir.

+2

Ayrıca bu Zend Devzone makalesine bakın: http://devzone.zend.com/article/3372 –

+0

Yanıtlarınız için teşekkürler, daha önce Plugin yaklaşımını denedim ama istediğimi yapmadım, yine de ben ' yanlış bir şey yapıp yapmadığımı kontrol etmek için 'lonut G. Stan' makalesini okuyacaksınız, eğer bu işe yaramazsa, 'Typeoneerror' önerisi olan $ _GET şeyi yapacağım. – elbicho

İlgili konular