2011-07-31 19 views
23

Her şeyden önce PHP'ye yeni başladım. Ve burada bir soru gönderdik: Refactoring require_once file in a project . Ön denetleyiciyi elimden geldiğince okumayı denedim, ama nasıl çalıştığını ve hatta neyin işe yaradığını anlayamıyorum.Ön Kontrol Nedir ve PHP'de nasıl uygulanır?

Birisi nasıl çalıştığını ve neyle ilgili olduğunu kısaca açıklayabilir mi?

Teşekkürler.

+0

Bu girdinin tek nokta. Her istek, ön denetleyici tarafından ele alınır. Http://en.wikipedia.org/wiki/Front_controller okudunuz mu? –

+1

Evet, ancak bağlantı bana bu konuda fazla bilgi vermiyor. Nasıl yapılır ve bunun gibi şeyler? –

cevap

42

Ön Denetleyici, uygulamanızdaki tek bir bileşenin tüm isteklerin bir uygulamanın diğer bölümlerine uygulanmasından sorumlu olduğu bir tasarım desenini ifade eder. Uygulamanızın geri kalanı tarafından ihtiyaç duyulan ortak işlevselliği merkezileştirir. Templating, yönlendirme ve güvenlik, Front Controller işlevselliğinin yaygın örnekleridir. Bu tasarım desenini kullanmanın yararı, bu işlevlerin davranışlarının değişmesi gerektiğinde, uygulamanın sadece küçük bir bölümünün değiştirilmesi gerektiğidir. Web açısından

, bir alan adı için tüm istekleri tek bir giriş noktası (ön kontrol cihazı) tarafından işlenir.

sadece bir ön-kontrol yönlendirme işlevi bir son derece basit örnek. Apache tarafından sunulan PHP'nin kullanılması böyle bir şeye benzeyecekti. En önemli adım ön denetleyiciye tüm istekleri yeniden yönlendirmek için geçerli:

.htaccess

RewriteEngine On 
RewriteRule . /front-controller.php [L] 

ön controller.php

<?php 

if ($_SERVER['REQUEST_URI'] == '/help') { 
    include 'help.php'; 
} elseif ($_SERVER['REQUEST_URI'] == '/calendar') { 
    include 'calendar.php'; 
} else { 
    include 'notfound.php'; 
} 
+0

neden ters eğik çizgi RewriteRule kaldırmazsa çalışmadı. ön-controller.php [L] '? –

+0

da bu da dahili yeniden yönlendirme döngüsüne neden oldu! –

İlgili konular