switon/invocation
Composer 安装命令:
composer require switon/invocation
包简介
Method-level guard and interceptor contracts for managed invocations for Switon Framework
README 文档
README
Switon's invocation hook contracts for method-level guards and interceptors.
This package defines the attributes and hook contracts; Invoker executes them at runtime.
Highlights
- Attribute-based hooks: guards and interceptors attach behavior directly to methods.
- Pre-execution checks: guarded methods can be examined before they run.
- Around-call wrapping: interceptors can run before, after, or on exception.
- Reusable base hook:
Interceptorcovers the common partial-lifecycle case. - Reusable invocation path: other components can share the same call flow.
Installation
composer require switon/invocation
Quick Start
use Attribute; use ReflectionMethod; use Switon\Invocation\Attribute\GuardInterface; use Switon\Http\Exception\ForbiddenException; use Switon\Http\RequestInterface; #[Attribute(Attribute::TARGET_METHOD)] final class IpGuard implements GuardInterface { public function __construct( private array $ips, ) { } public function handle(RequestInterface $request, ReflectionMethod $method): void { if (!in_array($request->ip(), $this->ips, true)) { throw ForbiddenException::of('Access denied.'); } } } final class AccountService { #[IpGuard(['127.0.0.1'])] public function deleteAction(int $id): void { } }
Docs: https://docs.switon.dev/latest/invocation
License
MIT.
统计信息
- 总下载量: 33
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 5
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-07