我不明白为什么 AppController 中的变量没有改变。我有一个 AppController 的子类,在操作方法中,我正在更改 AppController 的一个变量。但是,这不会反映在 afterFilter 中。
这是 CakePHP 的 AppController
<?php
class AppController extends Controller {
var $xxxx;
function beforeFilter()
{
$this->xxxx = 'this should be changed';
}
function afterFilter()
{
var_dump($this->xxxx);
exit;
}
}
?>
这是我的用户控制器
<?php
class UsersController extends AppController {
function view( $id )
{
echo "From the AppController: {$this->xxxx} \n";
$this->xxxx = 'with this';
}
}
?>
这是我运行它时的输出:
From the AppController: this should be changed
string 'this should be changed' (length=22)
我期待这个:
From the AppController: this should be changed
string 'with this' (length=9)
你知道它为什么会这样吗?任何指示如何正确执行此操作?