⊗ppMVDFmMdP 35 of 35 menu

Имплементација родитеља свих модела у сопственом MVC оквиру

Хајде да имплементирамо родитељску класу свих модела:

<?php namespace Core; class Model { private $link; public function __construct() { $this->link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); mysqli_query($this->link, "SET NAMES 'utf8'"); } protected function findOne($query) { // овде ће бити неки код } protected function findMany($query) { // овде ће бити неки код } } ?>

Као што видите, у конструктору класе обављамо повезивање са базом података. Постоји, међутим, проблем: сваки креирани модел (ако унутар једне акције контролера буде више модела) ће правити своје повезивање са базом података, а то није оптимално.

Хајде да урадимо тако да се повезивање са базом креира само за први креирани модел, а да остали модели користе већ створено повезивање. За то ћемо својство link направити статичким:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // ако својство није задато, онда се повезујемо self::$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); mysqli_query(self::$link, "SET NAMES 'utf8'"); } } protected function findOne($query) { } protected function findMany($query) { } } ?>

Копирајте наведени код класе Model и поставите га у фајлу /core/Model.php.

Имплементирајте метод findOne у овој класи. Проверите његов рад.

Имплементирајте метод findMany у овој класи. Проверите његов рад.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј