2010-09-17 9 views
5

Aşağıdaki koda sahibim, bu canlı sitede iyi çalışıyor, ancak localhost'ta çalışmıyor.Zend framework'ün getRequest() -> getQuery(), localhost üzerinde sorgu dizesi getirmeyecek

http://localhost:888//questions/ask?status=10 

her zaman sıfırdır durum değerini, baskılı:

$status = $this->getRequest()->getQuery('status'); 

bu gibi bir URL sahiptir. Zend çerçevesine yeni geldim ve bu konuda net bir çözüm bulamadım, bana tuhaf geliyor. Düşüncesi olan var mı? Teşekkürler.

[FIXED]

ben soruna neden yanlış RewriteRule vardı. İstenmeyen bir 'vardı?' RewriteRule satırında index.php'dan sonra. Bunu ekledim benim hatamdı, çünkü CodeIgniter kullanıcısı gibi diğer çerçeveler '?' RewriteRules içinde. Düzeltilmiş RewriteRule çizgisidir:

RewriteRule ^(.*)$ /index.php/$1 [L] 

bu kadar kabul cevabı seçebilir acaba .. :-)

+0

Eğer eylem kontrolöre olsun? .htaccess çalışıyor mu? sadece parametre boş mu? –

+0

ZF2 çalışır; $ post = $ this-> getRequest(); $ productid = mysql_real_escape_string ($ post-> getQuery ('productid')); ' – YumYumYum

cevap

4

Ben genellikle bir Soruları olduğunu varsayıyorum bu

$status = $this->getRequest()->getParam('status'); 

// or 
$status = $this->getRequest()->getParams(); 

kullanmak Denetleyici Eylem İsteyin.

+0

Elzo, ben her zaman vb modülü, kontrolör, aksiyon, olsun, ama dizeleri sorgulamaz, denedim. Bu canlı olması gerektiği gibi çalışır, sadece localhost sorunları vardır. Herhangi bir çerçeve yapılandırmasını kaçırmıyorum? – pMan

+0

yerinde herhangi bir garip yönlendirme var mı? veya ÇEVRE bağımlı diğer ayarlar? –

+0

var_dump istek nesnesini. Durum değişkeni url ise o da orada görünmelidir. –

2

ZF2'ye çözüm arayanlar için - bu gönderiye bakma, bana önemli ölçüde yardımcı oldu. Hatta

Getting $_GET parameters from route in Zend Framework 2 Ayrıca

, bu yazı içinde SO

sonrası (vb ..., yolları/istekler/params anlamada çok az gibi) bu kolaylaştırmak için olağanüstü bir eklenti referansı içerir tho Kısacası

How to access route, post, get etc. parameters in Zend Framework 2

, -

$this->getRequest()->getRequest('name', 'default'); 
    $this->getEvent()->getRouteMatch()->getParam('name', 'default');