ACL 中的附加條件
你還可以新增一些必須使用匿名函式檢查 ACL 的邏輯。它們將在使用 Phalcon\Acl\Adapter\Memory::allow()
或 Phalcon\Acl\Adapter\Memory::deny()
時執行,如果它們將返回 true,則允許它們角色訪問資源上的某些操作。
$acl->allow('Customer', 'products', 'create', function($parameter) {
return $parameter % 2 == 0;
});
$acl->isAllowed('Customer', 'products', 'create', ['parameter' => 1]); // this will return false
$acl->isAllowed('Customer', 'products', 'create', ['parameter' => 2]); // this will return true
注意引數如何傳遞給函式。你在陣列中的鍵需要與函式中的名稱相同。還可以傳遞預設引數引數以及物件。