MVC'de Modeller PHP'de
Şimdi modelleri anlamaya çalışalım. Modeller
de, kontrolörler gibi, OOP sınıflarıdır.
/project/models/ klasörüne yerleştirilmelidirler.
Bu klasörde, Page.php dosyasında, sitemizin
sayfa verilerinden sorumlu Page modelini
oluşturalım:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
Gördüğünüz gibi, modelimiz \Core\Model
sınıfından kalıtım alıyor. Modelimiz bu sınıftan
korumalı findOne ve findMany
yöntemlerini kalıtım alır. findOne yöntemi
bir parametre olarak bir SQL sorgusu alır ve
sorgu sonucuna giren ilk veritabanı kaydını döndürür.
findMany yöntemi de bir SQL sorgusu
alır, ancak bir kayıt dizisi döndürür.
Bu arada, veritabanı bağlantısı kuran kodu
yazmanıza veya sorgu sonuçlarını mysqli_fetch_assoc
ile işlemenize gerek yoktur. Framework bunu
sizin için halleder. Sadece sorgudan tek bir
veritabanı kaydı mı yoksa birden fazla mı
beklediğinizi seçmeniz ve uygun işlevi kullanarak,
sonuçta anlamlı bir dizi elde etmeniz ve
ardından bunu doğrudan kullanabilmeniz yeterlidir.