switon/invocation 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

switon/invocation

Composer 安装命令:

composer require switon/invocation

包简介

Method-level guard and interceptor contracts for managed invocations for Switon Framework

README 文档

README

CI PHP 8.3+

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: Interceptor covers 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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固