⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць