tourze/yield-breakable-caller
Composer 安装命令:
composer require tourze/yield-breakable-caller
包简介
BreakableCaller, using Yield
README 文档
README
A lightweight PHP library for breakable step-by-step task execution using Generators (yield). Allows interruption of task flow at any step based on custom conditions.
Features
- Step-by-step task execution based on PHP Generator (yield)
- Interrupt task flow at any step by custom logic
- Simple, dependency-free implementation
- Suitable for scenarios requiring controllable breakpoints in process
Installation
- Requires PHP >= 8.1
- Install via Composer:
composer require tourze/yield-breakable-caller
Quick Start
use Tourze\YieldBreakableCaller\BreakableCaller; $caller = new BreakableCaller(); $task = function () { echo "Step 1 executing\n"; yield; echo "Step 2 executing\n"; yield; echo "Step 3 executing\n"; yield; echo "Step 4 executing\n"; }; $shouldContinue = function () { static $count = 0; $count++; return $count < 3; // Interrupt after 3rd step }; $caller->invoke($task, $shouldContinue);
Output:
Step 1 executing
Step 2 executing
Step 3 executing
Documentation
Core API
BreakableCaller::invoke(callable $callback, callable $shouldNext): void
$callback: A function returning a generator$shouldNext: A callback to determine whether to continue after each step
Behavior
- After each
yield,$shouldNextis evaluated. If it returnsfalse, all subsequent steps are interrupted. - Supports empty generators, single-yield generators, and will throw if callback does not return a generator.
Contributing
We welcome contributions to improve this library. Please follow these guidelines:
- Submit issues for bugs or feature requests
- Follow PSR coding standards
- Write tests for new features
- Update documentation when needed
Development
- Clone the repository
- Install dependencies:
composer install - Run tests:
composer testorvendor/bin/phpunit - Run static analysis:
composer phpstanorvendor/bin/phpstan analyse
License
This library is licensed under the MIT License. See the LICENSE file for details.
Changelog
See CHANGELOG.md for version history and updates (if available).
tourze/yield-breakable-caller 适用场景与选型建议
tourze/yield-breakable-caller 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 221 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 04 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 tourze/yield-breakable-caller 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tourze/yield-breakable-caller 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 221
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 15
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-04-27