Моделҳо дар MVC дар PHP
Биёед ҳоло бо модельҳо шинос шавем. Моделҳо
ҳамчунон ки контроллерҳо, аз синфҳои ООП
иборатанд. Онҳоро бояд дар ҷузвдон
/project/models/ ҷойгир кунед. Биёед дар ин ҷузвдон
дар файли Page.php моделе бо номи Page
созем, ки барои додаҳои саҳифаҳои сомонаи мо масъул аст:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
Чунон ки шумо мебинед, модели мо аз синфи
\Core\Model мерос мебарад. Аз ин синф модели
мо аз усулҳои ҳифзшудаи findOne
ва findMany мерос мебарад. Усули findOne параметрҳояш
дархости SQL қабул мекунад ва якумин
сабти аз пойгоҳи додаҳоро, ки ба натиҷаи дархост афтодааст, бармегардонад.
Усули findMany низ дархости SQL
мегирад, аммо маҷмӯи сабтҳоро бармегардонад.
Дар ин ҳол ба шумо навиштани рамзи барқароркунандаи
пайвасти бо пойгоҳи додаҳо лозим нест, инчунин коркарди натиҷаҳои
дархост тавассути mysqli_fetch_assoc.
Фреймворк инро барои шумо анҷом медиҳад. Шумо танҳо бояд
интихоб кунед, ки оё аз дархост як сабт
аз пойгоҳи додаҳоро интизорӣ доред ё якчанд ва усули мувофиқро истифода кунед,
ки дар натиҷа маҷмӯи мантиқеро ба даст оред,
ки барои истифодаи минбаъда танҳо гирифтан ва истифода бурдан мумкин аст.