• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[PHP5]__autoload (Beispiel)

eckocharlie

New member
Halli Hallo. Wollt mal Fragen ob meine Autoload-Funktion soweit passt. Bzw. was ihr so dazu sagt.

PHP:
/***************************************************************************
 *                                  classloader.php
 *                            -------------------
 *   begin                : Donnerstag, Aug 24, 2006
 *   copyright            : (C) 2004 Mrs. JF
 *   email                : webmaster@park-to-fly.de
 *
 *   $Id: classloader.php,v 1.0 2006/08/24 11:46:15 .sophor Exp $
 *
 *
 ***************************************************************************/
function __autoload( $name )
{
	if ( !isset( $_SESSION['classpath'] ) || !is_array( $_SESSION['classpath'] ) )
	{
		$_SESSION['classpath'] = file( $_SERVER['DOCUMENT_ROOT']."/Programm_Path/config/classpath.cfg" );
	}
	
	foreach ( $file as $key => $path )
	{
		if ( @include( $_SERVER['DOCUMENT_ROOT']."/Programm_Path/class/".$path.$name ) )
		{
			return;
		}
	}
	$handle = fopen( $_SERVER['DOCUMENT_ROOT']."/Programm_Path/error_log/autoload.err", "a+");
	$write = fputs( $handle, "Fehler beim Laden von ".$name." am ".date("d.m.Y")." um ".date("H:i:s")." Uhr" );
	die("CLASS NOT FOUND 404");
}

1. wird geprüft ob die config schon eingelesen wurde.
2. falls nicht wird sie eingelesen. Ansonsten weiter mit 3.
3. wird die Schleife durchgegangen und geprüft ob die Classe irgendwo zu finden ist
4. Wenn ja, wird eingebunden.
5. Wenn nicht wird noch ein Eintrag im Errorlog geschrieben.



Wüsste jemand noch eine performantere Lösung? Oder eventuell eine andere?

LG

Marcel
 
Zurück
Oben