Hola!
Estoy iniciando a aprender clases pero tengo una duda espero puedan ayudarme
Inicie con una clase para coenctar a mi db y lamar la configuración de el sitio y lo básico
- Site y Core
Core tiene el constructor inicial para llamar a la db y la configuración de el sito
core.php
Código PHP:
namespace classes;
class Core {
private $system = array();
public $db;
public $prefix;
public function __construct() {
$this->db = new SQL(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$this->prefix = DB_PREFIX;
$NVConf = $this->db->get_results("SELECT * FROM {$this->prefix}config");
foreach ($NVConf as $systenconfig) {
$this->system[$systenconfig['option']] = $systenconfig['value'];
}
}
public function System( $data = '' ) {
if ( $data == "" ) {
$system = $this->system;
} else {
$system = $this->system[ strtolower( $data ) ];
}
return $system;
}
}
y tengo el Site, donde inicie con llamadadas a funciones adicionales
Site.php
Código PHP:
namespace classes;
class Site extends Core {
public function __construct() {
parent::__construct();
}
public function debug( $var ){
if ( isset($_REQUEST['debug']) == true ){
echo "<pre>";
print_r($var);
echo "</pre>";
}
}
}
Todo hasta aqui me va bien inicio mi programacion en mi index.php
Código PHP:
use classesSite;
$Site = new Site;
y así inicio llamando a mis demas configuraciones
Código PHP:
$Site->system("site_name");
Pero inicie con una clase donde genero un menú: Menus.php
Código PHP:
namespace classes;
class Menus extends Core {
public function Menu($pos = '0',$current = 'home',$parent = "0", $level = "0"){
.....................
}
Pero al llamarlo $Menu = new Menus(); se duplica la consulta query y si llamo a más clases seria lo mismo
Existe alguna forma de que desde mi clase CORE mediante una propiedad pueda ir llamando las clases?
Nose mucho pero digamos si pongo
Código PHP:
use classesSite;
$Site = new Site;
$Site->Menus->Menu(....);
he estado buscando pero no he encotnrado algo así, si pudiesen orientarme se los agradecería