⊗ppMVDFmMdP 35 of 35 menu

Implementácia rodiča všetkých modelov vo vlastnom MVC frameworku

Poďme implementovať rodičovskú triedu všetkých modelov:

<?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) { // tu bude nejaký kód } protected function findMany($query) { // tu bude nejaký kód } } ?>

Ako vidíte, v konštruktore triedy vykonávame pripojenie k databáze. Existuje však problém: každý vytvorený model (ak v rámci jednej akcie kontrolera bude niekoľko modelov) vytvorí svoje vlastné pripojenie k databáze, čo nie je optimálne.

Urobme to tak, aby sa pripojenie k databáze vytvorilo len pre prvý vytvorený model a ostatné modely použili už vytvorené pripojenie. Na to urobme vlastnosť link statickou:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // ak vlastnosť nie je nastavená, tak sa pripojíme 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) { } } ?>

Skopírujte uvedený kód triedy Model a umiestnite ho do súboru /core/Model.php.

Implementujte metódu findOne v tejto triede. Skontrolujte jej fungovanie.

Implementujte metódu findMany v tejto triede. Skontrolujte jej fungovanie.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť