Cake 3.x如何使用名为SessionsController的控制器进行数据库会话?

时间:2015-11-26 05:55:35

标签: session cakephp cakephp-3.0

Cake Version 3.1.2

我做了什么:

  1. 在MySQL数据库中运行以下查询:

    CREATE TABLE `sessions` (
      `id` varchar(255) NOT NULL DEFAULT '',
      `data` BLOB, -- or BYTEA for PostgreSQL
      `expires` int(11) DEFAULT NULL,
       PRIMARY KEY (`id`)
    );
    
  2. 更改app.php

    'Session' => [
        'defaults' => 'database',
    ],
    
  3. 我想要的是什么:

    拥有SessionsController.php

    所以我可以:

    • /sessions/add作为登录页面和操作(允许GET和POST)
    • /sessions/delete作为注销页面和操作(允许GET和DELETE)
    • /admin/sessions/delete作为管理员后端注销某些用户的方式(允许DELETE)
    • /admin/sessions/index作为以分页方式获取所有会话的方式(允许GET)

    我心中的疑问:

    1. 我实际上是在烘焙会话实体和表吗?
    2. 我实际上是在烘焙会话控制器吗?
    3. 即使我使用数据库处理我的会话,我甚至可以使用SessionsController吗?如何烘焙没有默认实体或表格的控制器?

1 个答案:

答案 0 :(得分:2)

您提出的大多数问题都在CakePHP Book中得到了解答。您的问题的答案是:

  1. 我实际上是在烘焙会话实体和表吗?
  2. 我实际上是在烘焙会话控制器吗?

    <答>答:不,你不需要烘烤任何东西。您可以手动编写所有代码。虽然,我建议烘焙来设置类的骨架。

  3. 即使我不使用数据库处理会话,我甚至可以使用SessionsController吗?

    答:是的,只要您按照naming conventions进行操作,就可以为控制器命名。

  4. 如何烘焙没有默认实体或表格的控制器?

    答:你只是烤它。您不必在控制器中使用默认模型或其他模型。