brainbits/blocking

5.0.5 2024-05-07 10:12 UTC

README

Latest Version Software License Total Downloads Tests

阻止组件提供管理基于内容阻止的方法。

<?php

use Brainbits\Blocking\Blocker;
use Brainbits\Blocking\Identity\Identity;
use Brainbits\Blocking\Owner\SymfonySessionOwnerFactory;
use Brainbits\Blocking\Storage\FilesystemStorage;
use Brainbits\Blocking\Validator\ExpiredValidator;

$storage = new FilesystemStorage('/where/to/store/blocks' /* path to directory on filesystem */);
$ownerFactory = new SymfonySessionOwnerFactory($session /* symfony session */);
$validator = new ExpiredValidator(300 /* block will expire after 300 seconds */);

$blocker = new Blocker($storage, $ownerFactory, $validator);

$identity = new Identity('my_content_123');

$block = $blocker->block($identity);
$result = $blocker->unblock($identity);
$result = $blocker->isBlocked($identity);
$block = $blocker->getBlock($identity);

阻止存储

阻止存储用于存储阻止信息。

提供基于文件的阻止存储。它根据阻止标识符将阻止文件写入文件系统。

阻止标识

阻止标识用于识别被阻止的内容。

提供一种通用阻止标识,使用字符串作为标识符。

阻止所有者

阻止所有者用于识别创建阻止的用户。

提供基于 symfony 会话的所有者类。

阻止验证器

阻止验证器用于测试现有阻止是否仍然有效。

提供一个通过最后修改时间检查阻止的验证器。