Salute a tutti.
E' da oggi che sto impazzendo su un problema che non riesco a risolvere.
Codice PHP:
<?php
define(_LIBRARY_PATH, 'libraries/');
class loader
{
function loader($path = NULL)
{
if($path == NULL)
{
$path = _LIBRARY_PATH;
}
exec('ls '.$path.'*', $f);
foreach($f as $mod)
{
$module = str_replace('.php', '', str_replace($path.'', '', $mod));
if(!is_object($module))
{
if(require_once($mod))
{
$modulos[$module] = new $module;
$module = $modulos[$module];
}
else
{
printf('problem');
return false;
}
}
}
return true;
}
}
$loader = new loader;
$loader->loader(_LIBRARY_PATH);
?>
Lo script in questione cerca nella directory _LIBRARY_PATH tutti i file php, nomeclasse.php, e cerca di caricarli ed istanziare la classe nomeclasse
Tutto funziona, tranne l'attivazione effettiva della classe.
Infatti se richiamo qualsiasi metodo delle classi caricate, PHP non le riconosce:
Codice PHP:
Fatal error: Call to a member function query() on a non-object in /framework/test.php on line 5
Deduco che, non venga istanziata la classe correttamente.