⊗ppMVDFmMdP 35 of 35 menu

Implementacija starša vseh modelov v lastnem MVC ogrodju

Implementirajmo nadrejeni razred vseh 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) { // tukaj bo nekaj kode } protected function findMany($query) { // tukaj bo nekaj kode } } ?>

Kot lahko vidite, v konstruktorju razreda vzpostavimo povezavo z bazo podatkov. Obstaja pa težava: vsak ustvarjen model (če znotraj enega samega dejanja krmilnika bo več modelov) bo naredil svojo povezavo z bazo podatkov, kar ni optimalno.

Naredimo tako, da se povezava z bazo ustvari samo za prvi ustvarjeni model, preostali modeli pa uporabljajo že ustvarjeno povezavo. Za to lastnost link naredimo statično:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // če lastnost ni nastavljena, se povežemo 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) { } } ?>

Kopirajte prikazano kodo razreda Model in jo namestite v datoteko /core/Model.php.

Implementirajte metodo findOne v tem razredu. Preverite njeno delovanje.

Implementirajte metodo findMany v tem razredu. Preverite njeno delovanje.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni