Zend Framework beklendiği gibi URL davranmak değil

1 Cevap php

Bir denetleyicisinin init yönteminde url aşağıdaki türünü ararken iki farklı sunucularında iki farklı sonuçlar alırsınız:

http://address.com/index/action/?start=2009-04-18&end=2009-04-21

Çağrı

$ _GET ['start'] echo;

Diğer sunucu üzerinde bir sunucu ve hiç yoktan bana 2009-04-18 verir.

Ancak, bu ekleme, garip bir parçasıdır

exit ();

O echo ifadesi hem sunucularda beklendiği gibi görüntülemek 2009-04-18 neden sonra.

FYI dumping the request params shows they are available on the one server but not on the other... unless you call exit ();

What in the world could be causing this? I realize this isn't the way to structure URLs in ZF but it is the way it is being done in this particular project. Maybe a custom route of some sort would help? STill doesn't explain the exit (); bit causing the $_GET variable to display.

EDIT: için bu almak için şimdi ancak, özel bir rota yazdı? url şeyleri havaya karışıyor. Dahil ederek bu GET değişken zorlanır görünür ve benim özel rota geçersiz kılar. Dışarı bırakarak, her şeyi ben oluşturulan rotada çalışıyor ama bu kaldırma seçeneği yok?. Herkes ne zaman ki GET değişkenleri doldurulan üzerinde özel bir güzergah öncelik taşır yapmak için nasıl biliyor? orada mı?

1 Cevap

Benim tahminim aslında iki sunucularda çalışıyor $ _GET ['start'], sorun hiçbir şey bu deyimi SONRA bir sorun yaşıyor gösteren biridir, ama echo çıktı çıktı tamponunda hala. Eğer yankı sonra floş () yaparsanız, ne olursa olsun çökmesini afterwords hala kilitlenmesine sonra, çıktıyı görmek için ama tarihi görürsünüz gerekir.

Ben yönlendirme (görmek için yeterli değil kod) ile ne yaptığınızı emin değilim, ama sorgu dizesi (sonra her şeyi?) Sizin yolları tamamen farklıdır. Eğer yönlendirme kullanmak için gidiyoruz eğer, ZF Hızlı Başlangıç ​​sayfasında verilmiştir. Htaccess dosyası kullanarak mod_rewrite sağlamak isteyeceksiniz.

Ben kendi özel Router (sadece bir Rota) yapmak, ve sonra ihtiyacı parametreleri ile birlikte, istediğiniz denetleyiciye yönlendirmek için $ _GET parametreleri kullanmak isteyeceksiniz düşünüyorum. Varsayılan Router QueryString, kontrol ettim en azından son kez ile komplike şeyler yapmaz.