各位兄弟,最近小弟在看天天团购的代码,结果在/modules/index.mod.php中看到这么一段代码:function ModuleObject( $config )
{
$this->MasterObject($config);
$runCode = Load::moduleCode($this);
$this->$runCode();
}第五行代码中的$this->$runCode();这句在PHP中有什么特殊含义吗?由于本人PHP没有经过正规的培训,所以一些不太常用的基础规则不明白,希望各位前辈能指导一下,感激不尽。
{
$this->MasterObject($config);
$runCode = Load::moduleCode($this);
$this->$runCode();
}第五行代码中的$this->$runCode();这句在PHP中有什么特殊含义吗?由于本人PHP没有经过正规的培训,所以一些不太常用的基础规则不明白,希望各位前辈能指导一下,感激不尽。
class ModuleObject extends MasterObject
{
function ModuleObject( $config )
{
$this->MasterObject($config);
$runCode = Load::moduleCode($this);
$this->$runCode();
}
function Main()
{
$clientUser = get('u', 'int');
if ( $clientUser != '' )
{
handler('cookie')->setVar('finderid', $clientUser);
handler('cookie')->setVar('findtime', time());
}
$data = logic('product')->display();
$data || header('Location: '.rewrite('?mod=subscribe&code=mail'));
$product = $data['product'];
$this->Title = $data['mutiView'] ? '' : $product['name'];
include handler('template')->file($data['file']);
}
function ExpressConfirm()
{
$oid = $this->Get['id'];
$result = $this->OrderLogic->orderExpressConfirm($oid);
if ( $result )
{
$this->Messager(__('已经确认收货,本次交易完成!'), '?mod=me&code=order');
}
else
{
$this->Messager(__('无效的订单号!'), '?mod=me&code=order');
}
}
}这是类的代码,我已经查看过父类和这个类,没有相关的函数
PHP 支持变量函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且将尝试执行它。
这必然是在你这个类中的了
去他的父类 还有 公共类去查找
去配置文件 config.php(一般都叫这个)去看看引入的类文件
$this->$runCode();
第二行的$runCode和第一行的$runCode有关系不?
$func();
function Main(){
echo "This is a variable function";
}运行的就是Main这个函数,搜索的域是应该是这个变量所在的作用域内的非成员函数。
$runCode
这个函数。
可以echo $runCode看下