1

我正在关注 CakePHP 1.3 的 ACL 教程,我想知道声明这样的行为之间是否存在功能差异:

var $actsAs = array('Acl' => 'requester');

像这样:

var $actsAs = array('Acl' => array('type' => 'requester'));
4

2 回答 2

0

cake/libs/model/behaviors/acl.php尽管您的两个示例对于 CakePHP 1.3.4 (第 48-51 行)都是有效且正确的,但 bancer 建议的第三种方法不正确。因为 AclBehavior 在找不到配置时默认为“请求者”,这是一个潜在的令人沮丧的错误,因为它会按预期工作,直到您尝试将类型更改为“受控”。(它在CakePHP 1.2中也不起作用- Mark Story 在匿名用户的建议下对该行进行了更改。)如果你确实想替换你的第三个示例,var $actsAs = array('Acl');应该没问题(除非你想type成为'controlled',但你然后可以看到添加选项)。

于 2010-10-19T16:34:51.787 回答
-1

没有区别。你甚至可以这样声明

var $actsAs = array('Acl' => array('requester'));
于 2010-05-24T22:19:37.133 回答