Hallo,
ich suche eine kompakte Lösung um Klassen zu laden:
über class1 extends class2 ist das ja leicht möglich. Nun möchte ich classen die in Ordner abgelegt werden dynamisch laden sodass man die classe nur in den Ordner ablegen und automatisch integrieren kann:
Mein Frage: Geht das irgendwie?
ich suche eine kompakte Lösung um Klassen zu laden:
über class1 extends class2 ist das ja leicht möglich. Nun möchte ich classen die in Ordner abgelegt werden dynamisch laden sodass man die classe nur in den Ordner ablegen und automatisch integrieren kann:
PHP-Code:
<?php
class class1 {
public function __construct() {
echo "myClass init'ed successfuly!!!";
}
public function test ($mytext) {
echo $mytext;
}
}
?>
<?php
class class2 {
public function __construct($class) {
$this -> new $class();
echo "class 2 init'ed successfuly!!!";
}
}
?>
<?php
$classes = Array('class1','class2');
class ClassAutoloader {
public function __construct() {
spl_autoload_register(array($this, 'loader'));
}
private function loader($className) {
echo 'Trying to load ', $className, ' via ', __METHOD__, "()\n";
include $className . '.php';
}
}
$autoloader = new ClassAutoloader();
foreach($classes as $class)
$obj = new $class();
$obj -> text('hier steht was'); //findet die Funktion nicht
?>
Kommentar