⊗ppMVDFmMdP 35 of 35 menu

Kõigi mudelite ülemklassi realiseerimine

Loome kõigi mudelite ülemklassi:

<?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) { // siin on mingi kood } protected function findMany($query) { // siin on mingi kood } } ?>

Nagu näete, teostame klassi konstruktoris andmebaasi ühenduse. Siiski on probleem: iga loodud mudel (kui ühes kontrolleri tegevuses on mitu mudelit) teeb oma ühenduse andmebaasi, mis pole optimaalne.

Teeme nii, et andmebaasi ühendus luuakse ainult esimese loodud mudeli jaoks, ning ülejäänud mudelid kasutaksid juba loodud ühendust. Selleks muudame omaduse link staatiliseks:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // kui omadus pole määratud, siis ühendume 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) { } } ?>

Kopeerige toodud klassi Model kood ja asetage see faili /core/Model.php.

Realiseerige meetod findOne selles klassis. Kontrollige selle toimimist.

Realiseerige meetod findMany selles klassis. Kontrollige selle toimimist.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu