⊗ppMVDFmMdP 35 of 35 menu

Implementación del padre de todos los modelos

Implementemos la clase padre de todos los modelos:

<?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) { // aquí habrá algún código } protected function findMany($query) { // aquí habrá algún código } } ?>

Como puedes ver, en el constructor de la clase realizamos la conexión a la base de datos. Sin embargo, existe un problema: cada modelo creado (si dentro de una misma acción del controlador hay varios modelos) hará su propia conexión a la base de datos, y esto no es óptimo.

Hagamos que la conexión a la base de datos se cree solo para el primer modelo creado, y que los demás modelos utilicen la conexión ya creada. Para ello, hagamos la propiedad link estática:

<?php namespace Core; class Model { private static $link; public function __construct() { if (!self::$link) { // si la propiedad no está definida, nos conectamos 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 el código de la clase Model proporcionado y colócalo en el archivo /core/Model.php.

Implementa el método findOne en esta clase. Comprueba su funcionamiento.

Implementa el método findMany en esta clase. Comprueba su funcionamiento.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar