Chain provides an easy way to chain a set of methods on an object.
Chain provides a set of methods to suit your chaining needs. From requiring you class to be an instance of an earlier specified class to getting back the results from each called method, Chain's got it all. For more info, check the Documentation or browse through the full API.
Quickstart
$ composer require cupoftea/chain ^1.2
$chain = new CupOfTea\Chain\Chain();
$results = $chain->requires(MyInterface::class)
->on(MyClass::class))
->call('method1', 'method2')
->with($parameter1, $parameter2)
->run();
$method1_result = $results->getResult('method1');