【问题标题】:Where to set CakePHP 3 cookie config在哪里设置 CakePHP 3 cookie 配置
【发布时间】:2015-11-23 00:50:00
【问题描述】:

我想为 cookie 组件设置配置,但我不确定在哪里添加代码。

我是在 AppController 中还是在引导程序中设置它?

public function initialize()
{
    parent::initialize();

    $this->loadComponent('Csrf');

    $this->Cookie->config([
        'httpOnly' => true
    ]);

}

【问题讨论】:

    标签: cakephp-3.0 cakephp-3.1


    【解决方案1】:

    根据http://book.cakephp.org/3.0/en/controllers/components.html#configuring-components

    一些需要配置的组件示例是身份验证和 Cookie。这些组件以及一般组件的配置通常通过 Controller 的 initialize() 方法中的 loadComponent() 或通过 $components 数组来完成。

    假设你需要全局配置,你应该把配置代码放到AppController的initialize()中。

    如果您想在运行时覆盖配置,可以将代码放入控制器的beforeFilter()。

    【讨论】:

    • 我确实尝试了 AppController 中的 initialize(),但我得到了一个致命错误 - Error: Call to a member function config() on a non-object
    • 你是否使用$this->loadComponent('Cookie');加载了组件?
    • 好的,谢谢。在阅读提供的文档链接后,我注意到了我的错误,我刚刚实施了更正$this->loadComponent('Cookie', ['httpOnly' => true]);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多