Access plugins by class name, not file name

Class name and file name can differ regarding case sensitivity
This commit is contained in:
Daniel Rudolf 2015-09-06 14:35:23 +02:00
parent 533822320e
commit a83b01ef4f

View File

@ -243,7 +243,11 @@ class Pico
$className = preg_replace('/^[0-9]+-/', '', basename($pluginFile, '.php')); $className = preg_replace('/^[0-9]+-/', '', basename($pluginFile, '.php'));
if (class_exists($className)) { if (class_exists($className)) {
$this->plugins[$className] = new $className($this); // class name and file name can differ regarding case sensitivity
$plugin = new $className($this);
$className = get_class($plugin);
$this->plugins[$className] = $plugin;
} else { } else {
// TODO: breaks backward compatibility // TODO: breaks backward compatibility
//throw new RuntimeException("Unable to load plugin '".$className."'"); //throw new RuntimeException("Unable to load plugin '".$className."'");