MVC (Model-View-Controller), web uygulamalarının düzenli ve yapılandırılmış bir şekilde geliştirilmesine olanak sağlayan popüler bir tasarım desenidir. PHP ile basit bir MVC yapısı oluşturmak, kodunuzun daha okunabilir, sürdürülebilir ve yeniden kullanılabilir olmasını sağlayabilir. Bu yazıda, adım adım bir MVC yapısı oluşturmayı öğreneceksiniz.
Adım 1: Dosya Yapısının Oluşturulması İlk adımda, projenizin kök dizininde birkaç klasör oluşturmanız gerekiyor. Bu klasörler: app
, controllers
, models
ve views
. Ayrıca, kök dizinde index.php
adında bir dosya da oluşturmanız gerekiyor. Dosya yapısı şu şekilde olacak:
– app
– controllers
– models
– views
– index.php
Adım 2: Temel Controller Sınıfının Oluşturulması controllers
klasörü altında Controller.php
adında bir dosya oluşturun. Bu dosyada, temel bir Controller
sınıfını tanımlayacağız. Bu sınıf, tüm diğer kontrolcülerin genişlemesi için temel işlevleri sağlayacaktır. İşte Controller.php
dosyasındaki örnek kod:
<?php
class Controller {
// Controller sınıfının yapıcı metodu
public function __construct() {
// Constructor kodu buraya yazılabilir
}
// Örnek bir eylem metodu
public function action() {
// Eylem kodu buraya yazılabilir
}
}
?>
Adım 3: Temel Model Sınıfının Oluşturulması models
klasörü altında Model.php
adında bir dosya oluşturun. Bu dosyada, temel bir Model
sınıfını tanımlayacağız. Bu sınıf, tüm diğer modellerin genişlemesi için temel işlevleri sağlayacaktır. İşte Model.php
dosyasındaki örnek kod:
<?php
class Model {
// Model sınıfının yapıcı metodu
public function __construct() {
// Constructor kodu buraya yazılabilir
}
// Örnek bir sorgu metodu
public function query() {
// Sorgu kodu buraya yazılabilir
}
}
?>
4: Temel View Dosyalarının Oluşturulması views
klasörü altında header.php
, footer.php
ve home.php
adında üç adet view dosyası oluşturun. header.php
ve footer.php
, tüm sayfalarda kullanılacak olan başlık ve altbilgi gibi ortak HTML kodlarını içerecektir. home.php
ise ana sayfa görünümünü temsil edecektir. İşte bu view dosyalarındaki örnek kodlar:
header.php:
<!DOCTYPE html>
<html>
<head>
<title>Basit MVC Yapısı</title>
</head>
<body>
footer.php:
</body>
</html>
home.php
<h1>Hoş Geldiniz!</h1>
<p>Bu, basit bir MVC yapısı örneğidir.</p>
Adım 5: Ana Kontrolcü ve Rota Tanımlama controllers
klasörü altında HomeController.php
adında bir dosya oluşturun. Bu dosyada, ana kontrolcü olan HomeController
sınıfını tanımlayacağız. Ayrıca, gelen isteklere göre doğru kontrolcüyü ve eylemi çalıştırmak için basit bir rota tanımlayacağız. İşte HomeController.php
dosyasındaki örnek kod:
<?php
class HomeController extends Controller {
public function __construct() {
parent::__construct();
}
public function index() {
// Ana sayfayı yükleme
include ‘views/header.php’;
include ‘views/home.php’;
include ‘views/footer.php’;
}
}
?>
Ayrıca, index.php
dosyasını aşağıdaki şekilde güncelleyin:
<?php
// Gerekli dosyaları dahil etme
include ‘app/controllers/Controller.php’;
include ‘app/controllers/HomeController.php’;
// Gelen isteğe göre doğru kontrolcüyü ve eylemi çalıştırma
$controller = new HomeController();
// Varsayılan eylem, ana sayfa
$controller->index();
?>
Artık basit bir MVC yapınız var! index.php
dosyasını çalıştırdığınızda, HomeController
‘ın index()
yöntemi çalışacak ve ana sayfayı görüntüleyecektir. Bu yapıyı daha da geliştirerek farklı kontrolcüler, modeller ve görünümler ekleyebilirsiniz.
Sonuç olarak, PHP ile basit bir MVC yapısı oluşturmak, kodunuzun daha organize olmasını ve bakımını daha kolay hale getirmesini sağlar. Bu örnekte, temel bir yapı sağlandı, ancak gerçek projelerde daha karmaşık bir yapıya ihtiyaç duyabilirsiniz.
Kerem Özgüven, 2000 yılında php programlama geliştirmeye başladı. O günden bu yana bir çok yazılım projesine katkıda bulundu ve fullstack geliştirici olarak kariyerini sürdürüyor. Kullanıcı arayüzleri, web servislerinin tasarımı, veri yapıları, sunucu yönetimi ve web uygulamaları gibi birçok alanda uzmanlaşmıştır. Tasarladığı çözümler kullanıcı dostu tasarımlardan, güvenli ve kolay kullanılan arayüzlere kadar uzanmaktadır. Projelerde öncelikle en iyi sonuçların elde edilmesini kolaylaştıran modern yöntemler kullanmaktadır.Her zaman projelerinin başarısı için gerekli olan tüm araştırmaları yapmaya yönelik bir yaklaşım sergilemektedir.