protected function buildKey(Target $target, array $subjects): string
    {
        $key = (string) $target;
        foreach ($subjects as $subject) {
            if (!($subject instanceof Subject)) {
                throw new \InvalidArgumentException("Only instances of Subject are permitted in the subjects argument");
            }
            $key .= ";{$subject}";
        }
        return $key;
    }
protected function buildKey(Target $target, array $subjects): string
    {
        $key = (string) $target;
        foreach ($subjects as $subject) {
            if (!($subject instanceof Subject)) {
                throw new \InvalidArgumentException("Only instances of Subject are permitted in the subjects argument");
            }
            $key .= ";{$subject}";
        }
        return $key;
    }
protected function buildKey ( Target $ target , array $ subjects ) : string { $ key = ( string ) $ target ; foreach ( $ subjects as $ subject ) { if ( ! ( $ subject instanceof Subject ) ) { throw new \ InvalidArgumentException ( "Only instances of Subject are permitted in the subjects argument" ) ; } $ key .= ";{$subject}" ; } return $ key ; }
Generates the key to use for caching the ACL.

@param \Caridea\Acl\Target $target The `Target` whose ACL will be loaded
@param array $subjects An array of `Subject`s
@return string The cache key
@throws \InvalidArgumentException If the `subjects` argument contains invalid values
Generates the key to use for caching the ACL .