예제 #1
0
파일: Acl.php 프로젝트: alexdpy/acl
 /**
  * @param DatabaseProviderInterface $databaseProvider
  * @param PermissionBufferInterface $permissionBuffer
  * @param string                    $maskBuilderClass
  * @param AclSchema                 $aclSchema
  *
  * @throws InvalidMaskBuilderException
  */
 public function __construct(DatabaseProviderInterface $databaseProvider, PermissionBufferInterface $permissionBuffer, $maskBuilderClass = 'AlexDpy\\Acl\\Mask\\BasicMaskBuilder', AclSchema $aclSchema = null)
 {
     if (!class_exists($maskBuilderClass)) {
         throw new InvalidMaskBuilderException(sprintf('Class "%s" does not exist', $maskBuilderClass));
     }
     $this->maskBuilderClass = $maskBuilderClass;
     if (!$this->getMaskBuilder() instanceof MaskBuilderInterface) {
         throw new InvalidMaskBuilderException(sprintf('Class "%s" must implements MaskBuilderInterface', $maskBuilderClass));
     }
     if (null === $aclSchema) {
         $aclSchema = new AclSchema();
     }
     $databaseProvider->setAclSchema($aclSchema);
     $this->databaseProvider = $databaseProvider;
     $this->permissionBuffer = $permissionBuffer;
     $this->aclSchema = $aclSchema;
 }
예제 #2
0
 protected function setUp()
 {
     parent::setUp();
     $this->databaseProvider = $this->getDatabaseProvider();
     $this->databaseProvider->setAclSchema($this->aclSchema);
 }