Context passing abstraction for modern PHP projects, inspired in Golang's context
package.
composer require castor/context
<?php
use Castor\Context;
// This is a default base context
$ctx = Context\nil();
// This returns a new context with the passed values stored
$ctx = Context\withValue($ctx, 'foo', 'bar');
// Later in the call stack
echo $ctx->value('foo'); // Prints: bar
To learn about the rationale behind this library, best practices when using it and implementation examples, check the documentation.