3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php /** * Lädt Klassendefinitionen anhand eines Classmaparrays. * Der Arrayschlüssel entspricht dem Klassennamen und der Arraywert dem Pfad zur Klassendatei. * Alle Arrayschlüssel werden in Kleinbuchstaben gewandelt, um Fehler durch Groß- Kleinschreibung zu vermeiden. * @package Classloader */ class ClassmapAutoloader { /** * Classmap: array("Klassenname" => "Pfad zur Datei mit Klassendefinition"). * @var array */ protected $classmap; /** * Registriert die Funktion "loadClass" als Autoload-Funktion. * @param array Classmap. */ public function __construct(array $classmap = array()) { $this->classmap = array_change_key_case($classmap); spl_autoload_register('self::loadClass'); } /** * Fügt ein Array zur Classmap hinzu. * @param array Classmap. */ public function addClassmap(array $classmap) { $this->classmap = array_merge($this->classmap, array_change_key_case($classmap)); } /** * Includet die Datei, die die Klassendefinition enthält. * @param string Name der Klasse, die geladen werden soll. */ protected function loadClass($class_name) { $class_name = strtolower($class_name); if(isset($this->classmap[$class_name])) include $this->classmap[$class_name]; } } ?>
Output for 5.1.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in /in/7qMc0 on line 21
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/7qMc0 on line 15
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/7qMc0 on line 15
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/7qMc0 on line 15
Process exited with code 255.