Raisch
extraordinary bit
Hallo Community,
ich habe bis heute __autoload() zum einbinden meiner Klassen verwendet und wollte jetzt auf spl_autoload() umsteigen. Dies gestaltet sich nun doch schwieriger als erwartet.
Nun ist meine Frage, gibt es für set_include_path() ein vorgeschriebenes Format wie der Pfad anzugeben ist?
Ich habe mir zu allen Funktionen das Manual angeschaut und keine befriedigende Antwort gefunden, evtl könnt ihr mich ja erleuchten.
Meine Autoloadklasse sieht im Moment so aus:
Gruß
ich habe bis heute __autoload() zum einbinden meiner Klassen verwendet und wollte jetzt auf spl_autoload() umsteigen. Dies gestaltet sich nun doch schwieriger als erwartet.
Nun ist meine Frage, gibt es für set_include_path() ein vorgeschriebenes Format wie der Pfad anzugeben ist?
Ich habe mir zu allen Funktionen das Manual angeschaut und keine befriedigende Antwort gefunden, evtl könnt ihr mich ja erleuchten.
Meine Autoloadklasse sieht im Moment so aus:
PHP:
abstract class RsAutoLoad
{
private static $path = null;
private static $ext = null;
public static function init()
{
self::$path = array (
'class' => './.include/class/',
'abstract' => './.include/class/abstract/',
'interface' => './.include/class/interface/'
);
self::$ext = array (
'class' => '.class.php',
'abstract' => '.abstract.php',
'interface' => '.interface.php'
);
spl_autoload_register( 'RsAutoLoad::loadClass' );
spl_autoload_register( 'RsAutoLoad::loadAbstact' );
spl_autoload_register( 'RsAutoLoad::loadInterface' );
}
public static function loadClass( $class )
{
set_include_path(
self::$path['class'].PATH_SEPARATOR.get_include_path()
);
spl_autoload_extensions( self::$ext['class'] );
spl_autoload( $class );
}
public static function loadAbstact( $class )
{
set_include_path(
self::$path['abstract'].PATH_SEPARATOR.get_include_path()
);
spl_autoload_extensions( self::$ext['abstract'] );
spl_autoload( $class );
}
public static function loadInterface( $class )
{
set_include_path(
self::$path['interface'].PATH_SEPARATOR.get_include_path()
);
spl_autoload_extensions( self::$ext['interface'] );
spl_autoload( $class );
}
}
RsAutoLoad::init();
Gruß
Zuletzt bearbeitet: