今天的一个简单程序:
protected function _isLogin() {
if(empty(cookie(C('itokit_com')))) {
$this->error('未登录后台,请先登录', 'Public/login');
}
}
运行这个方法,竟然返回以下错误:
Can't use function return value in write context E:\www\www.itokit.com\js\Lib\Action\Jsadmin\CommonAction.class.php 第 16 行.
这个错误的原因是由于:empty函数参数必须为variable,不能为其它函数的返回值,包括str_replace,trim等等
而我的empty里使用了cookie有返回值的函数。所以就报了这个错误的了。
ok,知道错误原因,修改下即可了:
protected function _isLogin() {
$itokitname = cookie(C('JSADMIN_USER'));
if(emptyempty($itokitname)) {
$this->error('未登录后台,请先登录', 'Public/login');
}
}
好了,问题解决的了。大家如何有碰到像我这样的小问题,可以把变量先获取到,再使用empty哦。