⊗ppMVDFmMdP 35 of 35 menu

Implementatie van de ouder van alle modellen in je eigen MVC-framework

Laten we de bovenliggende klasse van alle modellen implementeren:

<?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) { // hier komt code } protected function findMany($query) { // hier komt code } } ?>

Zoals je ziet, maken we in de constructor van de klasse verbinding met de database. Er is echter een probleem: elk aangemaakt model (als er binnen één controlleractie meerdere modellen zijn) maakt zijn eigen verbinding met de database, en dat is niet optimaal.

Laten we het zo maken dat de verbinding met de database alleen wordt gemaakt voor het eerste aangemaakte model, en de andere modellen de reeds gemaakte verbinding gebruiken. Hiervoor maken we de eigenschap link statisch:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // als de eigenschap niet is ingesteld, verbinden we 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) { } } ?>

Kopieer de gegeven code van klasse Model en plaats deze in bestand /core/Model.php.

Implementeer de methode findOne in deze klasse. Test de werking ervan.

Implementeer de methode findMany in deze klasse. Test de werking ervan.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren