1

我只是想知道如何使用$this->set()CakePHP 中的方法来使用/定义自己的函数?我想做这样的事情......

应用控制器.php

<?php
    function checkSetup() {
        if ($this->Auth->user('setup') == 'notcomplete') { return true; }
    }

    $this->set('isSetup', checkSetup());
?>

然后我将能够在我的视图文件中访问和调用它:

<?php if ($isSetup): ?>
You haven't setup your profile yet!
<?php endif; ?>

我已经尝试过了,但它显然不起作用,因为我遇到了一个巨大的致命错误。关于如何做到这一点的任何想法/建议?

4

1 回答 1

1
$this->set('isSetup', checkSetup());

该行需要在某个函数内才能被调用。大概你想要它在你的应用程序控制器的 beforFilter 中 - 像这样:

<?php

App::uses('Controller', 'Controller');

class AppController extends Controller {

    function beforeFilter() {
        $this->set('isSetup', checkSetup());
    }

    function checkSetup() {
        if ($this->Auth->user('setup') == 'notcomplete') { return true; }
    }

}

?>
于 2012-12-09T05:17:49.743 回答