我知道如何使用:
call_user_func_array(array($className, $methodName), array($_POST)) ;
在我的类中调用一个函数并发送参数。
但是我将如何只调用该类并将其传递给 __constructor 的参数呢?
手动做我会做:
$myTable = new Supertable(array('columnA', 'columnB'), 5, 'Some string') ;
这会奏效。我需要什么功能来实现类似于 call_user_func_array 的功能?
这是我正在做的事情的完整背景:
function __autoload($classname) {
@include $classname.'.php' ;
}
$className = 'supertable' ;
$methodName = 'main' ;
if(class_exists($className, true)) {
if(method_exists($className, $methodName)) {
$reflection = new ReflectionMethod($className, $methodName) ;
if($reflection->isPublic()){
call_user_func_array(array($className, $methodName), array($_POST)) ;
} elseif($reflection->isPrivate()) {
echo '<span class="state">Private</span> method <span class="methodname">'.$methodName.'</span> can not be accessed directly.' ;
} elseif($reflection->isProtected()) {
echo '<span class="state">Protected</span> method <span class="methodname">'.$methodName.'</span> can not be accessed directly.' ;
}
} else {
echo 'The method <span class="methodname">'.$methodName.'</span> does not exist.' ;
}
} else {
echo 'The class <span class="classname">'.$className.'</span> does not exist.' ;
}