我最近回到了一个我没有工作几个月的项目,我收到了这个错误:
非静态方法AppController :: isAdmin()不应该静态调用,假设$ this来自不兼容的上下文[APP / View / Elements / auth_menu_new.ctp
isAdmin
没有静态定义,定义为:
public function isAdmin() {
$r = $this->Session->read('Auth.User.group_id'); //line 80
if ($r == 1)
return true;
return false;
}
这样称呼它:
<?php if (AppController::isAdmin()) { ?>
<li><a href="/users">Users</a></li>
<?php } ?>
有什么想法吗?如果我将函数定义为静态,则无法使用$this
。
当我通过创建一个像这样的新实例调用该函数时:
<?php
$aci = new AppController();
die($aci->isAdmin());
?>
我收到此错误:
致命错误:在第80行的/var/www/app/Controller/AppController.php中调用非对象的成员函数read()
谢谢!