class1
この単純なオートロード スクリプトがありますが、唯一の問題は、どの変数が初期化されているかわからないことです。変数 $class を var_dump すると、
object(class1)[1]
しかし、$class->someMethod()
クラスを変数にしようとしたとき、未定義ですか?
ClassLib ディレクトリに
-class1.php
と
-class2.php
私のコード:
function init_load($class){
include 'ClassLib/'.$class.'.php';
}
function verify_fclass($class){
if(!file_exists('ClassLib/'.$class.'.php')){
return FALSE;
}else{
if(!class_exists($class)){
return FALSE;
}else{
return TRUE;
}
}
}
function init_classes($classes = array()){
foreach($classes as $class){
if(verify_fclass($class) === FALSE){
$test[$class.'NotExisting'] = $class;
}else{
$test = null;
$class = new $class;
}
}
var_dump($class); // what is on class
var_dump($test); // what is on test
}
$class_array = array('NonExistingClass','class1');
spl_autoload_register('init_load');
init_classes($class_array);
$class->what();