⊗ppMVDFmMdP 35 of 35 menu

Բոլոր մոդելների ծնողի իրականացումը

Եկեք իրականացնենք բոլոր մոդելների ծնողական դասը.

<?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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել