cakephp 中的controller 变量

黄舟
发布: 2023-03-03 16:24:02
原创
1088 人浏览过

Controller 变量

操作Controller里的少量变量,可以让你最大程度的使用Cake的额外功能:

$name

PHP4没有把当前的驼峰格式的类名给我们。如果你有问题,可以使用此变量来设置正确的驼峰格式的类名。

$uses

你的Controller是否使用多个model呢?FragglesController会自动加载$this->Fraggle,但是如果你也想访问$this->Smurf,试试将下面的东东加到你的controller中:

var $uses = array('Fraggle','Smurf');
登录后复制

请注意你是如何在$use数组中包含Fraggle model的,虽然在之前它也自动可用。

$helpers

使用本变量可以让controller把 helper加载到它的view中去。HTML helper会自动加载,但是你可以使用本变量指定其他的:

var $helpers = array('Html','Ajax','Javascript');
登录后复制

记住,如果你打算用它的话,你需要在$helpers数组中包含HtmlHelper。一般它是缺省可用的,但是如果你定义了没有它的$helpers,在你的view中你会得到错误信息。

$layout

将本变量设置为你想在controller中使用的布局名。

$autoRender

将本变量设置为false,会自动停止action的render。

$beforeFilter

如果你想让你的一点点代码在每次的action调用中都运行(和任何动作运行之前),使用$beforeFilter吧.此东西对访问控制来说真的非常好-你可以在任何动作发生前检查用户的权限。将此变量设置为一个包含controller 动作的数组。可以如下运行:

class ProductsController extends AppController
{
    var $beforeFilter = array('checkAccess');
 
    function checkAccess()
    {
        //Logic to check user identity and access would go here....
    }
 
    function index()
    {
        //When this action is called, checkAccess() is called first.
    }
}
登录后复制

$components

与$helpers和$uses一样。此变量用来加载你需要的组件:

var $components = array(&#39;acl&#39;);<!--[if !supportFootnotes]-->[2]<!--[endif]-->
登录后复制

以上就是cakephp 中的controller 变量的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板