Varsayılan yol geçersiz kılar, ancak gerektiğinde çağrı

2 Cevap php

Ben böyle URL'ler bir site geliştiriyorum:

site.com/james
site.com/james/photos

Site.com / ADI / UYGULAMA: Bu URL'ler için şema bu vardır

Kullanıcı adınızı ve uygulama hem de isimleri db yb programı mantık kontrol ediyoruz. Ben Zend ancak bunun için rota bu rota için tüm istekleri yönlendirme seti.

Ama aynı kontrolörleri ve yönetici modülü var. I site.com / admin gittiğinizde, bu "Admin" kullanıcı arar. I site.com / james / profilinize gittiğinizde Ya da, "profil" adlı uygulamayı bulmaya çalışır. Ancak bu için UserController bir eylem bulunmaktadır.

Nasıl bu özelliği uygulayabilirsiniz? Denetleyici varsa Örneğin Kontrolörleri adları arar ve bir ön kontrolör onlara requst sevk?

2 Cevap

Bunu yaparsanız, genellikle, onları çalışması için sonradan 'default' yolları yeniden gerekecek. Bu anlamıyla / admin maçlar ve yönetici modülüne giden bir rota ekleyerek anlamına gelir.

Bu yakında app oldukça büyük ise korumak için bir ağrı olur. Sen site.com / user / james ve site.com / user / james / fotoğraf gibi bir şey için url planları değiştirerek işler daha kolay yapabilirsiniz.

Ben içerik odaklı web siteleri için kullanmak bir alternatif güzergah için varsayılan denetleyici / eylem varolan denetleyicisi eşleşmiyor tüm istekleri olduğunu:

$front->setParam('useDefaultControllerAlways', true);

Varsayılan olarak, unrouteable istekleri IndexController :: indexAction için eşler

Ben kullanmak istiyorum route chaining. Varsayılan yolları kaldırmak ve zincirin sonunda onu ekleyin.

Sonunda koşulları işlemek için bir ön denetleyicisi eklentisi.