Php 蛋糕烘焙问题,调用非静态方法

Php 蛋糕烘焙问题,调用非静态方法,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我最近回到了一个我已经几个月没有参与的项目中,发现了这样一个错误: 假设$this来自不兼容的上下文[APP/View/Elements/auth\u menu\u new.ctp],则不应静态调用非静态方法AppController::isAdmin isAdmin不是静态定义的,定义: public function isAdmin() { $r = $this->Session->read('Auth.User.group_id'); //line 80 if ($r == 1

我最近回到了一个我已经几个月没有参与的项目中,发现了这样一个错误:

假设$this来自不兼容的上下文[APP/View/Elements/auth\u menu\u new.ctp],则不应静态调用非静态方法AppController::isAdmin

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 } ?>
我得到这个错误:

致命错误:调用第80行/var/www/app/Controller/AppController.php中读取非对象的成员函数


谢谢!

你在哪里调用这个函数?你能在哪里实例化和调用这个函数吗?函数定义本身不足以帮助你。是的,像这样调用它:问题不清楚。你要么使用实例调用方法,要么静态调用它。这里没有魔法我正试图静态调用它n、 当我这样做的时候,我最终得到了一个不应该被静态调用的错误
<?php
$aci = new AppController();
die($aci->isAdmin());
?>