⊗ppMVDFmMdP 35 of 35 menu

MVC фреймворкингизда барча моделларнинг отасини амалга ошириш

Келинг, барча моделларнинг ота классини амалга оширайлик:

<?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) { // бу ерда қандайдир код бўлади } protected function findMany($query) { // бу ерда қандайдир код бўлади } } ?>

Кўриб турганингиздек, класс конструкторида биз маълумотлар базасига улашамиз. Аммо, бир муаммо бор: ҳар битта яратилаётган модель (агар контроллернинг битта ҳаракати ичида бир нечта модель бўлса) ўзининг маълумотлар базасига уланишни яратади, бу эса оптимал эмас.

Келинг, шундай қилайликки, маълумотлар базасига уланиш фақат биринчи яратилган модель учун яратилсин, қолган моделлар эса аллақачон яратилган уланишдан фойдалансин. Бунинг учун link хусусиятини статик қиламиз:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // агар хусусият берилмаган бўлса, унда улашамиз 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) { } } ?>

Келтирилган Model класс кодини нусхалаб олинг ва уни /core/Model.php файлига жойланг.

Ушбу классда findOne услубини амалга оширинг. Унинг ишлашини текшириб кўринг.

Ушбу классда findMany услубини амалга оширинг. Унинг ишлашини текшириб кўринг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш