⊗ppMVDFmMdP 35 of 35 menu

Visų modelių tėvinės klasės implementacija

Leiskite implementuoti visų modelių tėvinę klasę:

<?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) { // čia bus kažkoks kodas } protected function findMany($query) { // čia bus kažkoks kodas } } ?>

Kaip matote, klasės konstruktoriuje mes atliekame prisijungimą prie duomenų bazės. Tačiau yra problema: kiekvienas sukurtas modelis (jei vieno kontrolerio veiksmo viduje bus keli modeliai) atliks savo prisijungimą prie duomenų bazės, o tai nėra optimalu.

Padarykime taip, kad prisijungimas prie duomenų bazės būtų sukurtas tik pirmam sukurtam modeliui, o likę modeliai naudotų jau sukurtą prisijungimą. Tam padarykime savybę link statine:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // jei savybė nenustatyta, tada jungiamės 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) { } } ?>

Nukopijuokite pateiktą klasės Model kodą ir patalpinkite jį faile /core/Model.php.

Implementuokite metodą findOne šioje klasėje. Patikrinkite jo veikimą.

Implementuokite metodą findMany šioje klasėje. Patikrinkite jo veikimą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti