hier ein kleiner codeschnipsel um nicht gefundene klassen in autoload als exception zu behandeln. (das erste sinnvolle mal das eval bentutzt wird!)
ist natürlich mehr zu debug zwecke zu gebrauchen, sieht aber schöner aus als ein "FATAL ERROR"
PHP-Code:
<?php
function autoload($classname)
{
// try to load class
if(is_file($classname.'.php'))
{
include_once($classname.'.php');
// if class was not in file
if(!class_exists($classname))
class_not_found($classname);
}
else
class_not_found($classname);
}
function class_not_found($classname)
{
eval('
class '.$classname.'
{
public static function throw_autoload_exception()
{
throw new Exception(\'Class "'.$classname.'" not found!\');
}
}
'.$classname.'::throw_autoload_exception();
');
}
spl_autoload_register('autoload');
try
{
new class_does_not_exists();
}
catch(Exception $exception)
{
echo $exception->getMessage();
}
Kommentar