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ı