Bu makalede, PHP'de MVC'nin temellerini, ne olduğunu, temel yapısını ve PHP'de MVC'nin uygulanmasını açıklayacağım. Umarım bu, yeni başlayanlar için faydalı olur.
MVC nedir?
- Model-Görünüm-Kontrolcü (MVC), yazılım mühendisliğinde kullanılan bir mimari modeldir.
- Model, uygulamadaki bilgileri temsil eder.
- Görünüm, metin, buton gibi kullanıcı arayüzü öğelerine benzer.
- Kontrolcü, modelden verileri yönetmek için kullanılan veri ve iş kurallarının karşılıklı iletişimini gerçekleştirir.
MVC deseninin görsel temsili.

MVC'yi PHP'de kullanarak temel bir örnekle başlayalım.
- Öncelikle Wamp sunucusunda www klasörü içinde application adında bir klasör oluşturmamız gerekiyor. Eğer Wamp sunucusu kullanıyorsanız.
- Uygulama klasörü içinde model, görünüm ve denetleyici klasörleri oluşturun ve index adında bir PHP dosyası oluşturun.

Denetleyici
controller/Controller.php dosyasını oluşturun ve aşağıdaki kodu içine kopyalayın.
[sh lang="php"]
<?php
include_once("model/Model.php");
class Controller {
public $model;
public function __construct()
{
$this->model = new Model();
}
public function invoke()
{
$reslt = $this->model->getlogin(); // model sınıfının
getlogin() fonksiyonunu çağırır ve bu
fonksiyonun döndürdüğü değeri reslt değişkenine kaydeder.
if($reslt == 'Seamedia\'ye hoş geldiniz')
{
include ‘view/Welcome.php’;
}
başka
{
include ‘view/login.php’;
}
}
}
?>[/sh]
Model
model klasörü içinde bir Model.php dosyası oluşturun ve aşağıdaki kodu içine kopyalayın.
[sh lang="php"]
<?php
include_once("model/Model.php");
sınıf Model
{
public function getlogin()
{
if(isset($_REQUEST[‘user’]))
{
if($_REQUEST[‘user’]==’seamedia’)
{
return 'Seamedia'ye hoş geldiniz;
}
başka
{
'Geçerli değil';
}
}
}
}
?[/sh]
Görüntüle
İçinde view klasörü bulunan iki PHP dosyası oluşturun: login.php ve Welcome.php ve aşağıdaki kodu içine kopyalayın.
login.php
[sh lang="php"]
<html>
<head></head>
<body>
<?php
echo $reslt;
?>
<form action=”” method=”POST”>
<p>
<label>Kullanıcı</label>
<input id="user" value="" name="user" type="text" required="required"/><br>
</p>
<p>
<button type=”submit” name=”submit”><span>Giriş Yap</span></button>
<button type=”reset”><span>İptal</span></button>
</p>
</form>
</body>
</html[/sh]
Hoşgeldin.php
<html>
<head></head>
<body>
<?php
echo $reslt;
?
</body>
</html>[/sh]
index.php
index.php dosyasını açın ve aşağıdaki kodu kopyalayın.
[sh lang="php"]
<?php
include_once("controller/Controller.php");
$controller=new Controller();
$controller->invoke();
?[/sh]
Çıktı
