⊗ppMVDFmMdP 35 of 35 menu

Kendi MVC Framework'ümüzde Tüm Modellerin Ebeveynini Uygulama

Tüm modellerin ebeveyn sınıfını uygulayalım:

<?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) { // burada bir kod olacak } protected function findMany($query) { // burada bir kod olacak } } ?>

Gördüğünüz gibi, sınıfın yapıcı metodunda veritabanına bağlantı sağlıyoruz. Ancak bir sorun var: oluşturulan her model (eğer bir kontrolör işlemi içinde birden fazla model olursa) kendi veritabanı bağlantısını yapacak, bu da optimal değil.

Öyle yapalım ki, veritabanı bağlantısı sadece ilk oluşturulan model için yapılsın, diğer modeller ise zaten oluşturulmuş bağlantıyı kullansın. Bunun için link özelliğini statik yapalım:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // eğer özellik ayarlanmamışsa, bağlanıyoruz 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 sınıfının verilen kodunu kopyalayın ve /core/Model.php dosyasına yerleştirin.

Bu sınıfta findOne metodunu uygulayın. Çalışmasını kontrol edin.

Bu sınıfta findMany metodunu uygulayın. Çalışmasını kontrol edin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet