brainbits / blocking
对象阻止
5.0.5
2024-05-07 10:12 UTC
Requires
- php: ^8.2
- psr/clock: ^1.0
Requires (Dev)
- brainbits/phpcs-standard: ^7.0.1
- brainbits/phpstan-rules: ^3.1
- matthiasnoback/symfony-config-test: ^5.1
- matthiasnoback/symfony-dependency-injection-test: ^5.1
- mikey179/vfsstream: ^1.6.11
- phpstan/phpstan: ^1.10.67
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^10.5
- predis/predis: ^2.2
- symfony/clock: ^6.4|^7.0
- symfony/config: ^6.4|^7.0
- symfony/dependency-injection: ^6.4|^7.0
- symfony/http-foundation: ^6.4|^7.0
- symfony/http-kernel: ^6.4|^7.0
- symfony/routing: ^6.4|^7.0
- symfony/security-core: ^6.4|^7.0
Suggests
- predis/predis: If you want to use the PredisStorage
- symfony/http-foundation: If you want to use the SymfonySessionOwnerFactory
- symfony/security-core: If you want to use the SymfonyTokenOwnerFactory
Conflicts
- phpspec/prophecy: 1.12.*
README
阻止组件提供管理基于内容阻止的方法。
<?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 会话的所有者类。
阻止验证器
阻止验证器用于测试现有阻止是否仍然有效。
提供一个通过最后修改时间检查阻止的验证器。