⊗ppMVDFmMdP 35 of 35 menu

Implementacija roditelja svih modela u sopstvenom MVC frejmvoru

Hajde da implementiramo roditeljsku klasu svih modela:

<?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) { // ovde će biti neki kod } protected function findMany($query) { // ovde će biti neki kod } } ?>

Kao što vidite, u konstruktoru klase obavljamo povezivanje na bazu podataka. Međutim, postoji problem: svaki kreirani model (ako unutar jedne akcije kontrolera bude nekoliko modela) će napraviti svoju konekciju na bazu podataka, a to nije optimalno.

Hajde da uradimo tako da se konekcija na bazu kreira samo za prvi napravljeni model, a ostali modeli koriste već postojeću konekciju. Da bismo to uradili, svojstvo link ćemo napraviti statičkim:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // ako svojstvo nije postavljeno, onda se povezujemo 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 dat kod klase Model i smestite ga u fajl /core/Model.php.

Implementirajte metodu findOne u ovoj klasi. Proverite njen rad.

Implementirajte metodu findMany u ovoj klasi. Proverite njen rad.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij