PHP'de MVC'de Kontrolcüler
İlk olarak, anlaşılması gereken konu kontrolcülerdir. Kontrolcüler, kullanıcı isteklerini işler, kullanıcının siteden ne istediğini anlar, modelden ilgili verileri ister ve onları görünüme gönderir.
Kontrolcüler, OOP sınıflarından oluşur.
Bir dosya - bir sınıf ve dolayısıyla
bir kontrolcüdür. Framework'ümüzde kontrolcüler
project/controllers klasöründe saklanacak.
Kontrolcü oluşturma konusunda pratik yapalım.
Isınmak için, sitemizdeki metin sayfalarını
yönetecek olan PageController sınıfını
yapalım.
Hemen kontrolcümüz için bir dosya oluşturalım.
Framework'ümüzün kurallarına göre her sınıf
aynı isimde bir dosyada saklanmalıdır
(büyük/küçük harfe kadar). Yani PageController sınıfımız
PageController.php dosyasında saklanacak.
Bu dosyayı project/controllers klasöründe oluşturun.
Bu dosyada sınıfımızı oluşturalım:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Gördüğünüz gibi, sınıfımız Project\Controllers
isim alanına aittir, dosya otomatik yükleme
kuralını takip ederek (yani, klasör yolu
isim alanıyla eşleşmelidir).
Ayrıca, sınıfımız, framework çekirdeğinde
bulunan Core\Controller sınıfından
kalıtım alır. Bunda derin bir anlam aramaya
gerek yok, sadece framework'ün bir kuralı
olarak kabul edilmelidir. İşte kural: oluşturduğunuz
tüm kontrolcüler, her şeyin olması gerektiği gibi
çalışması için Core\Controller sınıfından
kalıtım almalıdır.