本文整理匯總了PHP中PolicySet::getAlgorithm方法的典型用法代碼示例。如果您正苦於以下問題:PHP PolicySet::getAlgorithm方法的具體用法?PHP PolicySet::getAlgorithm怎麽用?PHP PolicySet::getAlgorithm使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PolicySet
的用法示例。
在下文中一共展示了PolicySet::getAlgorithm方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: evaluate
/**
* Evaluate the given set of policies against the subject
*
* @param Subject $subject Current subject
* @param PolicySet $policySet Set of policies
* @param Action $action
*
* @return bool
*/
public function evaluate(Subject $subject, PolicySet $policySet, Action $action)
{
// get the subject's attributes
$this->setSubjectAttributes($subject->getAttributes());
$policyResults = $this->handlePolicies($policySet->getPolicies());
if (count($policyResults) == 1) {
return array_shift($policyResults);
} else {
// we're working with a set of policies, go with the algorithm
// if we have one...
$algorithm = $policySet->getAlgorithm();
if ($algorithm === null) {
// default to most secure - deny overrides!
$algorithm = new Algorithm\DenyOverrides();
}
return $algorithm = $algorithm->evaluate($policyResults);
}
}