⊗ppMVDFmMdP 35 of 35 menu

Имплементација на родител на сите модели во вашиот MVC framework

Да го имплементираме родителскиот клас на сите модели:

<?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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј