recoil / dev
Recoil应用的开发和调试工具。
0.4.2
2022-03-06 04:11 UTC
Requires
- php: >=7.4
- composer-plugin-api: ^1|^2
- eloquent/enumeration: ^5
- hamcrest/hamcrest-php: ^2
- nikic/php-parser: ^4
- recoil/api: ^1
Requires (Dev)
- composer/composer: ^1|^2
- eloquent/phony: ^5
- friendsofphp/php-cs-fixer: ^2
- peridot-php/leo: dev-php-8 as 1.999.999
- peridot-php/peridot: dev-php-8 as 1.999.999
- peridot-php/peridot-code-coverage-reporters: dev-php-8 as 2.999.999
- recoil/recoil: ^1
README
Recoil应用的开发和调试工具。Recoil。
composer require --dev recoil/dev
用法
主要地,recoil/dev
是一个Composer插件,它可以自动检测协程函数,以便在发生异常时提供有意义的堆栈跟踪。没有recoil/dev
,堆栈跟踪通常会显示Recoil内核的内部细节,而不是它正在执行的协程。
检测是自动进行的,通过连接到自动加载管道。对于大多数用例,您的代码不需要进行更改(除了下面的说明),您应该立即看到更多可用的堆栈跟踪。
检测器将具有返回类型提示为Coroutine
的函数识别为协程,其中Coroutine
是Generator
的别名,例如
// Alias Generator as Coroutine. use Generator as Coroutine; function doNothing(int $value): Coroutine // Mark function as a coroutine. { yield; }
检测器不会检测使用返回类型提示为Generator
的函数,因为没有别名,它无法区分实际协程和常规生成器函数。
故障排除
检查以下内容
- 确保在您的开发环境中启用了断言。
- 确保使用上面描述的
: Coroutine
类型提示显式识别您的协程。 - 源文件中的语法错误可能会破坏用于生成检测的PHP解析,导致这些文件未进行检测 -- 检查您的语法!
- 有关自动加载的进一步问题或要禁用检测,请参阅这些进一步的说明。
构建和测试
有关运行测试和提交更改的信息,请参阅CONTRIBUTING.md。