eckocharlie
New member
Halli Hallo. Wollt mal Fragen ob meine Autoload-Funktion soweit passt. Bzw. was ihr so dazu sagt.
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
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