方法一(原方法):
eval("\$uc_controls['user'] = new usercontrol();");
方法二:
call_user_func(array('usercontrol', 'usercontrol()'), $uc_controls['user']);//usercontrol类usercontrol()函数修改
function usercontrol(){
//+++begin
if(func_num_args() > 0){
$arg_list = func_get_args();
$arg_list[0] = $this;
}
//+++end
$this->base();
$this->load('user');
}
uc_client//用eval出错(官网有人说是服务器配置问题),另想方法
大家看下我这方法行得通吗?
eval("\$uc_controls['user'] = new usercontrol();");
方法二:
call_user_func(array('usercontrol', 'usercontrol()'), $uc_controls['user']);//usercontrol类usercontrol()函数修改
function usercontrol(){
//+++begin
if(func_num_args() > 0){
$arg_list = func_get_args();
$arg_list[0] = $this;
}
//+++end
$this->base();
$this->load('user');
}
uc_client//用eval出错(官网有人说是服务器配置问题),另想方法
大家看下我这方法行得通吗?
eval("\$uc_controls['user'] = new usercontrol();");
方法二:
call_user_func(array('usercontrol', 'usercontrol'), $uc_controls['user']); //usercontrol类usercontrol()函数修改
function usercontrol(&$obj){
//+++begin
if(func_num_args() > 0){
$obj = $this;
}
//+++end
$this->base();
$this->load('user');
}
uc_client//用eval出错(官网有人说是服务器配置问题),另想方法
大家看下我这方法行得通吗?
第一个数组,第一个索引值为类名,第二个类的方法.
第二个参数,是传给函数的参数值,可以为数组.
function uc_api_mysql($model, $action, $args=array()) {
global $uc_controls;
if(empty($uc_controls[$model])) {
include_once UC_ROOT.'./lib/db.class.php';
include_once UC_ROOT.'./model/base.php';
include_once UC_ROOT."./control/$model.php";
eval("\$uc_controls['$model'] = new {$model}control();");
}
if($action{0} != '_') {
$args = uc_addslashes($args, 1, TRUE);
$action = 'on'.$action;
return $uc_controls[$model]->$action($args);
} else {
return '';
}
}
所以要用eval
改成这样看看行不:
$cls = $mode."control";
$uc_controls['$model'] = new $cls();
eval("\$uc_controls['user'] = new usercontrol();");
方法二:
call_user_func(array('usercontrol', 'userobject'), &$uc_controls['user']);//usercontrol类增加函数
function userobject($obj){
$obj = new usercontrol();
}