私はCakePHP1.3のACLチュートリアルに従っていますが、次のような動作を宣言することの間に機能的な違いがあるかどうか疑問に思っていました。
var $actsAs = array('Acl' => 'requester');
そしてこのように:
var $actsAs = array('Acl' => array('type' => 'requester'));
あなたの2つの例はCakePHP1.3.4(cake/libs/model/behaviors/acl.php
48-51行目)に対して有効で正しいものですが、bancerによって投稿された提案された3番目の方法は正しくありません。AclBehaviorは、構成が見つからない場合、デフォルトで「リクエスター」に設定されるため、タイプを「制御」に変更しようとするまで期待どおりに機能するという点で、これは潜在的にイライラするバグです。(CakePHP1.2でも機能しません-MarkStoryは、匿名ユーザーのアドバイスでその行に変更を加えました。)3番目の例を置き換えたい場合は、問題なく実行する必要がvar $actsAs = array('Acl');
あります(ただし、その後、オプションを追加するために見ることができます)。type
'controlled'
違いはありません。この方法で宣言することもできます。
var $actsAs = array('Acl' => array('requester'));