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.