MVC Vakfı ile Dinamik Yönlendirme - i18n ve l10n

2 Cevap php

Geçenlerde kodlama Saner ve daha sürdürülebilir MVC tarzı takip etmek web programlama ile benim becerilerini geliştirmeye oldum. Ancak, benim framework "kendi roll" ile yapmak için kullanılan bir şey mod_rewrite'ı etrafında dayalı esnek, dinamik yönlendirme oldu. Bu vb cakephp zend gibi şeyler ile boğaz sorunu gibi görünüyor. Ve ben vardı işlevselliğini çoğaltmak için çalışıyoruz tarafından bana bazı baş ağrısı neden olur.

Bir rulo kendi bağlam olarak, aşağıdaki gibi bir şey yapabilirsiniz:

<custom htaccess rules before>
RewriteRule    ^([A-Za-z0-9-/]+)$    index.php?q=$1   [NC,L]

, url kolları keyfi bir komut tüm eşleşen adresler yazılarak sayfaları veya eylemlerden herhangi listesine "/abc-123/abc-456/controller-value" vb kombinasyonları ayrıştırma, bir veritabanı tablosundan ayarlanabilir fonksiyonlar, vb kodlanmış, bla bla .. özel kurallar önce sunucuda kaynaklar için mevcut dosyaların veya yönlendirme kurulum admin vs için eşleştirilmiş istekleri geçebilir

MVC url politikası devreye girdiği Ancak, dış dünyadan gelen uygulama mantığı gizler şey bu davranışı geçersiz kılmak için son derece zordur. Gerçekten herkes bir kullanıcı fonksiyon adları maruz istediğiniz neden hiç anlamadım, ve bu benim gerçek öcü değildir. Bu kullanılabilirlik ve güvenlik bakış açılarından, çok gereksiz ve bir dayatma gibi görünüyor.

Yani - soru uygulama için sağlam bir temel MVC korurken, yeniden yazılamaz çevrilebilir ve samimi url politikasını nasıl yaklaşılması, bu nedir?

Koşullar:

  • Hiçbir uygulama mantığı maruz
  • Translatable URLs (i18n)
  • Dinamik ve eklemek, kaldırmak, uygulama kodu dokunmadan adresler veya sayfaları düzenlemek için yeteneği

Eğlenceli kere! : D

Örnek URL'ler:

/en/news/story-title
/pt/noticias/titulo

URL'ler geçti dil dize dayanan yerelleştirilmiş içerik almak nerede.

2 Cevap

MVC URL yapısı ile ilgisi vardır, sadece bir mimari desen. Özel bir yönlendirme katmanı kullanarak herhangi bir yöntemle MVC kırmak olmaz. Merkezi yönlendirme sizin için OK ise, o zaman, örneğin, URL modelleri (Regexes veya basitleştirilmiş sözdizimi çeşit) eylemleri kontrolör eşleyen bir yapılandırma dosyası olabilir.

I believe (although I'm not sure) Akelos Çevrilebilir URL'leri destekler.