关于call_user_func( ) 和 $_session的疑惑 sessionphp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、$this->afterEditFun 这个成员变量 在用之前赋值了类中的某个函数的名字;它是在2.php中用 $Editor->setConfig('afterEditFun',array(&$this,'sendNotice'));时行赋值的;是当前对象的sendNotice方法,这样 call_user_func()就是调用了sendNotice方法。2、setConfig()方法就是根据session的状态动态添加成员变量 call_user_func 函数原型mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )参数由 $callback 回调函数和参数列表做成比如function f($a, $b, $c) {}call_user_func('a', 1, 2, 3);就相当于执行f(1, 2, 3);由于回调函数是以变量形式出现的所以 call_user_func 可以动态执行各种函数(只要参数正确)而无需改变程序本身回调函数可以有以下形式1、已定义函数:函数名2、对象的方法:array(对象名, 方法名),array(类名, 方法名)3、动态创建的函数:create_function(...)4、闭包:function(...)在实际开发中,call_user_func 这个函数没有 call_user_func_array 使用频度高因为开列参数灵活性较差 您好,我想问问1.为什么要通过判断session 的状态来给afterEditFun 赋值呢? session里面有个作用,就是可以跨页面传递参数。。但是这里我还是不大明白。afterEditFun这个函数功能是编辑该页面内容,后显示编辑后的有关Notice2. 在2.php中想调用1.php的方法,可以通过new A() 将1.php对象实例化来调用。。如果2.php也是一个对象比如class B,那么1.php要想调用2.php的方法,是不是不可以new B(), 这个问题比较白痴,感觉就是不可以。那么除了通过回调函数1.php还有其他办法调用2.php的函数吗?2. $this->afterEditFun 这个成员变量用setConfig赋值时,比如$this->{$var} = $value; 这个语法不是太懂。首先$this->{$var} 有“{}”是什么意思。。还有value是一个数组array (&$this,'sendNotic'),是怎么赋值的呢?谢谢呢 谢谢你的回答,这部分明白了些。另外:1.在$afterEditFun回调之前赋值了某个函数的名字,使用了setconfig。这里面对session进行判断,不是太明白。能解答下吗?2. 赋值的语法。比如$this->{$var} = $value; 不是太懂。首先$this->{$var} 有“{}”是什么意思。。还有value是一个数组array (&$this,'sendNotic'),是怎么赋值的呢?谢谢 先声明一下,你的代码片段是 php4 的,很多写法已经过时了你也不能指望十年前的人能写出符合现代潮流的代码,如果作者重写他的这个项目的话,水平将大大提高$this->{$var} = $value;就是$this->$var = $value;是变量的变量,这一点你应该是很清楚的$a = 1;$b = 'a';echo $$b; // 输出 1$a = array(1,2);print_r($a); // 输出 Array ([0] =>1 [1] => 2)至于为什么要判断 session,那就与业务逻辑用关系了。仅从代码上是看不出来的 帮忙取任意一个月的最后一天 php 连接mysql失败 大家好,我想自学PHP,请大家给我推荐PHP经典书籍 电驴下载选中文件功能 php简单的用户登录我已经做好了 看看有什么缺陷? 如何用php生成一个网页链接的快捷方式 php随机数问题 关于判断用户是否在线的问题!!! 有关session的问题 请大家指点! 这是什么编码 求救。。php 安装 mcrypt 但不起效,有mcrypt.so ,但是 php_info里面并没有mcrypt信息段 多表查询遇到的难题
$Editor->setConfig('afterEditFun',array(&$this,'sendNotice'));时行赋值的;是当前对象的sendNotice方法,这样
call_user_func()就是调用了sendNotice方法。
2、setConfig()方法就是根据session的状态动态添加成员变量
mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
参数由 $callback 回调函数和参数列表做成
比如
function f($a, $b, $c) {
}
call_user_func('a', 1, 2, 3);
就相当于执行
f(1, 2, 3);
由于回调函数是以变量形式出现的
所以 call_user_func 可以动态执行各种函数(只要参数正确)而无需改变程序本身回调函数可以有以下形式
1、已定义函数:函数名
2、对象的方法:array(对象名, 方法名),array(类名, 方法名)
3、动态创建的函数:create_function(...)
4、闭包:function(...)在实际开发中,call_user_func 这个函数没有 call_user_func_array 使用频度高
因为开列参数灵活性较差
您好,我想问问
1.为什么要通过判断session 的状态来给afterEditFun 赋值呢?
session里面有个作用,就是可以跨页面传递参数。。但是这里我还是不大明白。afterEditFun这个函数功能是编辑该页面内容,后显示编辑后的有关Notice2. 在2.php中想调用1.php的方法,可以通过new A() 将1.php对象实例化来调用。。如果2.php也是一个对象比如class B,那么1.php要想调用2.php的方法,是不是不可以new B(), 这个问题比较白痴,感觉就是不可以。那么除了通过回调函数1.php还有其他办法调用2.php的函数吗?2. $this->afterEditFun 这个成员变量用setConfig赋值时,比如$this->{$var} = $value; 这个语法不是太懂。首先$this->{$var} 有“{}”是什么意思。。还有value是一个数组array (&$this,'sendNotic'),是怎么赋值的呢?
谢谢呢
谢谢你的回答,这部分明白了些。另外:
1.在$afterEditFun回调之前赋值了某个函数的名字,使用了setconfig。这里面对session进行判断,不是太明白。能解答下吗?2. 赋值的语法。比如$this->{$var} = $value; 不是太懂。首先$this->{$var} 有“{}”是什么意思。。还有value是一个数组array (&$this,'sendNotic'),是怎么赋值的呢?
谢谢
你也不能指望十年前的人能写出符合现代潮流的代码,如果作者重写他的这个项目的话,水平将大大提高$this->{$var} = $value;
就是
$this->$var = $value;
是变量的变量,这一点你应该是很清楚的
$a = 1;
$b = 'a';
echo $$b; // 输出 1
$a = array(1,2);
print_r($a); // 输出 Array ([0] =>1 [1] => 2)至于为什么要判断 session,那就与业务逻辑用关系了。仅从代码上是看不出来的