⊗ppMVDFmMdP 35 of 35 menu

Implementering av foreldre til alle modeller i din egen MVC-rammeverk

La oss implementere foreldreklassen for alle modeller:

<?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) { // her vil det være noe kode } protected function findMany($query) { // her vil det være noe kode } } ?>

Som du kan se, i konstruktøren til klassen etablerer vi tilkobling til databasen. Det er imidlertid et problem: hver opprettet modell (hvis innenfor en enkelt kontrollerhandling vil det være flere modeller) vil opprette sin egen tilkobling til databasen, og dette er ikke optimalt.

La oss gjøre det slik at tilkobling til databasen kun opprettes for den første opprettede modellen, og de andre modellene bruker den allerede opprettede tilkoblingen. For å gjøre dette, la oss gjøre egenskapen link statisk:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // hvis egenskapen ikke er satt, kobler vi til 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) { } } ?>

Kopier den gitte koden for klassen Model og plasser den i filen /core/Model.php.

Implementer metoden findOne i denne klassen. Test dens funksjon.

Implementer metoden findMany i denne klassen. Test dens funksjon.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis