Development and debugging tools for Recoil applications.
composer require --dev recoil/dev
Primarily, recoil/dev
is a Composer plugin that automatically instruments
coroutine functions to provide meaningful stack traces in the event of an
exception. Without recoil/dev
, stack traces tend to show details about the
internals of the Recoil kernel, rather than the coroutines it is executing.
The instrumentor identifies functions as coroutines if they have a return type
hint of Coroutine
, where Coroutine
is an alias for Generator
, for example:
// Alias Generator as Coroutine.
use Generator as Coroutine;
function doNothing(int $value): Coroutine // Mark function as a coroutine.
{
yield;
}
The instrumentor will not instrument functions that use a return type hint of
Generator
, as without the alias it has no way to distinguish between an actual
coroutine and a regular generator function.
Please see CONTRIBUTING.md for information about running the tests and submitting changes.