Hola gente, tengo un problema con una especie de cms que estoy creando para un proyecto y luego para liberarlo
Básicamente el problema es que no se como instanciar una clase cuyo nombre traigo desde una base de datos.
Tengo una serie de carpetas que son modulos de estas carpetas tengo unos index que contienen clases que hacen distintas cosas.
Cuando cargo un modulo funciona bien pero cuando carga varios empieza funcionar mal.
Primero, no se si en php puedo ir cargando distintas clases con el mismo mombre porque eso me simplificaría todo pero eso no me funciono.
Digamos que tengo una clase Modulos que carga distintas clases Modulo todas con el mismo nombre y un constructor que hace lo que tenga que hacer en cada caso.
De no ser así necesitaría saber como instanciar una clase de la que no se el nombre.
dejo un ejemplo simplificado de còdigo para ver si se entiende mas.
class Modules{
public function __construct(){
$this -> showModules();
}
private function showModules(){
$db = new MySQL(); //instancio la clase MySQL
$query = $db->query("SELECT *
FROM modules WHERE (aqui van varias condiciones que no son el problema");
while($result = $db->fetch_array($query)){
$module = $result['module'];
include ("modules/$module/index.php");
$m = new Module();
mysql_close($result);
}
}
//archivo modules/test1/index.php
<?php
class Module{
public function __construct(){
$var= "Module Test1";
echo $var;
}
}
?>
//archivo modules/test2/index.php
<?php
class Module{
public function __construct(){
$var= "Module Test2";
echo $var;
}
}
?>
racias por las respuestas si las hubiera ja.