⊗ppMVDFmMdP 35 of 35 menu

Implementering van die ouer van alle modelle in jou MVC-raamwerk

Laat ons die ouerklas van alle modelle implementeer:

<?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) { // daar sal een of ander kode wees } protected function findMany($query) { // daar sal een of ander kode wees } } ?>

Soos jy kan sien, in die konstruktor van die klas, inisialiseer ons die skakel na die databasis. Daar is eger 'n probleem: elke model wat geskep word (as daar binne een aksie van die kontroleerder verskeie modelle is) sal sy eie skakel na die databasis maak, en dit is nie optimaal nie.

Kom ons sorg dat die skakel na die databasis slegs vir die eerste geskepte model gemaak word, en die ander modelle reeds geskep skakel gebruik. Om dit te doen, maak ons die eienskap link staties:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // as die eienskap nie gestel is nie, dan skakel ons 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 die gegewe kode van die klas Model en plaas dit in die lêr /core/Model.php.

Implementeer die metode findOne in hierdie klas. Toets sy werking.

Implementeer die metode findMany in hierdie klas. Toets sy werking.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp