⊗ppMVDFmMdP 35 of 35 menu

Implementering af forælder til alle modeller

Lad os implementere forældreklassen 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) { // der vil være en kode her } protected function findMany($query) { // der vil være en kode her } } ?>

Som du kan se, opretter vi forbindelse til databasen i klassens konstruktør. Der er dog et problem: hver oprettet model (hvis der er flere modeller inden for en enkelt controller-handling) vil oprette sin egen forbindelse til databasen, hvilket ikke er optimalt.

Lad os gøre det sådan, at forbindelsen til databasen kun oprettes for den første oprettede model, og de resterende modeller bruger den allerede oprettede forbindelse. For at gøre dette, lad os gøre egenskaben link statisk:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // hvis egenskaben ikke er indstillet, opretter vi forbindelse 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 givne kode for klassen Model og placer den i filen /core/Model.php.

Implementer metoden findOne i denne klasse. Test dens funktion.

Implementer metoden findMany i denne klasse. Test dens funktion.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis