Php 蛋糕烘焙问题,调用非静态方法
我最近回到了一个我已经几个月没有参与的项目中,发现了这样一个错误: 假设$this来自不兼容的上下文[APP/View/Elements/auth\u menu\u new.ctp],则不应静态调用非静态方法AppController::isAdmin isAdmin不是静态定义的,定义: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
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());
?>