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

时间:2015-01-20 02:02:47

标签: php cakephp cakephp-2.0

我最近回到了一个我没有工作几个月的项目,我收到了这个错误:

  

非静态方法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()

谢谢!

0 个答案:

没有答案