⊗ppMVDFmMdP 35 of 35 menu

Implementarea părintelui tuturor modelelor în propriul framework MVC

Să implementăm clasa părinte a tuturor modelelor:

<?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) { // aici va fi un cod } protected function findMany($query) { // aici va fi un cod } } ?>

După cum vedeți, în constructorul clasei realizăm conexiunea la baza de date. Există, totuși, o problemă: fiecare model creat (dacă în interiorul unei acțiuni a controllerului vor fi mai multe modele) va face propria conexiune la baza de date, iar acest lucru nu este optim.

Să facem astfel încât conexiunea la baza de date să fie creată doar pentru primul model creat și restul modelelor să utilizeze conexiunea deja creată. Pentru aceasta, proprietatea link o vom face statică:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // dacă proprietatea nu este setată, atunci ne conectăm 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) { } } ?>

Copiați codul clasei Model și plasați-l în fișierul /core/Model.php.

Implementați metoda findOne în această clasă. Verificați funcționarea ei.

Implementați metoda findMany în această clasă. Verificați funcționarea ei.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge