⊗ppMVDFmMdP 35 of 35 menu

Visu modeļu vecāka implementācija savā MVC ietvarā

Implementēsim visu modeļu vecāka klasi:

<?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) { // šeit būs kāds kods } protected function findMany($query) { // šeit būs kāds kods } } ?>

Kā jūs redzat, klases konstruktorā mēs veicam savienojumu ar datu bāzi. Tomēr ir problēma: katrs izveidotais modelis (ja viena kontroliera darbībā būs vairāki modeļi) veiks savu savienojumu ar datu bāzi, un tas nav optimāli.

Padarīsim tā, lai savienojums ar datu bāzi tiktu izveidots tikai pirmajam izveidotajam modelim, bet pārējie modeļi izmantotu jau izveidoto savienojumu. Lai to izdarītu, īpašību link padarīsim par statisku:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // ja īpašība nav iestatīta, tad savienojamies 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) { } } ?>

Nokopējiet doto klases Model kodu un ievietojiet to failā /core/Model.php.

Implementējiet metodi findOne šajā klasē. Pārbaudiet tās darbību.

Implementējiet metodi findMany šajā klasē. Pārbaudiet tās darbību.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt