public function assert(array $subjects, string $verb, Target $target): void
    {
        try {
            if ($this->get($target, $subjects)->can($subjects, $verb)) {
                return;
            }
        } catch (\Exception $ex) {
            throw new Exception\Forbidden("Access denied to $verb the target", 0, $ex);
        }
        throw new Exception\Forbidden("Access denied to $verb the target");
    }
public function assert(array $subjects, string $verb, Target $target): void
    {
        try {
            if ($this->get($target, $subjects)->can($subjects, $verb)) {
                return;
            }
        } catch (\Exception $ex) {
            throw new Exception\Forbidden("Access denied to $verb the target", 0, $ex);
        }
        throw new Exception\Forbidden("Access denied to $verb the target");
    }
public function assert ( array $ subjects , string $ verb , Target $ target ) : void { try { if ( $ this -> get ( $ target , $ subjects ) -> can ( $ subjects , $ verb ) ) { return ; } } catch ( \ Exception $ ex ) { throw new Exception \ Forbidden ( "Access denied to $verb the target" , 0 , $ ex ) ; } throw new Exception \ Forbidden ( "Access denied to $verb the target" ) ; }
Asserts that one of the provided subjects can verb the Target.

@param Subject[] $subjects An array of `Subject`s
@param string $verb The verb (e.g. `read`, `create`, `delete`)
@param \Caridea\Acl\Target $target The target
@throws Exception\Forbidden if the subject cannot *verb* the Target
Asserts that one of the provided subjects can verb the Target .