Franz: Problem mit __autoload-function

Beitrag lesen

Hello,

wie lautet Deine __autoload()-Funktion?

function __autoload($klasse){  
	  
	$file = null;  
	  
	// die bösesten zeichen in klassennamen mal sicherheitshalber verbieten  
	if (strpos ($klasse, '.') !== false || strpos ($klasse, '/') !== false  
		|| strpos ($klasse, '\\') !== false || strpos ($klasse, ':') !== false) {  
	  return;  
	}  
	  
	// Aufruf auseinandernehmen  
	$path=explode('_',$klasse);  
	  
	// Path-Size  
	$pathCount=count($path);  
	  
	// Pfad erstellen  
	for($i= 0; $i<$pathCount; ++$i){  
		$file.=$path[$i];  
		$file.=($i==$pathCount-1) ? ".php" : "/";  
	}  
	// Klasse inkludieren  
	if(file_exists($file)){  
		if(!include_once($file)){  
			echo "<p>Inkludieren der Datei: ".$file." fehlgeschlagen</p>";	  
		} else {  
			if (!class_exists($klasse)){  
				eval('class '.$klasse.' {  
              	    public function __construct() {  
              	        echo "Class ' . $klasse . ' not found.";  
              	    }  
             	} ');  
			}  
		}  
	} else {  
		echo "<p>Inkludieren der Datei: ".$file." fehlgeschlagen</p>";  
	}  
}

Was enthalten die Dateien

  • bootstrap.php
  • Controller.php
  • View.php

Ausschließlich Klassen oder auch auszuführenden Code?

Alles nur Klassen. Überall auch nur eine.

Gibt es Fehlermeldungen?

Nein.

Wie ist dein Error_Reporting eingestellt?

display_errors 1

E_ALL | E_STRICT

Warum werden die Dateinamen mal klein und mal mit führendem Versalen geschrieben?

Das ist nur hier so... weil ich grad schnell geschrieben ahtte, nicht drüber nachgedacht. Sie sind eigendl alle nach Camel-Case benannt.

Gruß, Frank