Skip to content
/ dev Public
forked from recoilphp/dev

Development and debugging tools for Recoil applications.

License

Notifications You must be signed in to change notification settings

langabi/dev

 
 

Repository files navigation

Recoil Development Tools

Build Status Code Coverage Code Quality Latest Version

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.

Building and testing

Please see CONTRIBUTING.md for information about running the tests and submitting changes.

About

Development and debugging tools for Recoil applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.3%
  • Makefile 0.7%