1. Go to this page and download the library: Download spiffy/spiffy-dispatch library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
spiffy / spiffy-dispatch example snippets
use Spiffy\Dispatch\Dispatcher;
class TestDispatchable implements Dispatchable
{
public function dispatch(array $params) { return 'foo'; }
}
$d = new Dispatcher();
$d->add('foo', new TestDispatchable());
// outputs 'foo'
echo $d->ispatch('foo');
// the second argument will be passed to the $params array of the dispatch() method
echo $d->ispatch('foo', ['name' => 'bar']);
use Spiffy\Dispatch\Dispatcher();
$d = new Dispatcher();
$d->add('foo', function() { return 'foo'; });
// outputs 'foo'
echo $d->ispatch('foo');
// this closure has a default value of 'baz' for the $slug parameter
$d->add('bar', function($id, $slug = 'baz') {
return $id . ': ' . $slug;
)};
// this uses the default value for $slug
// outputs '1: baz'
echo $d->ispatch('bar', ['id' => 1]);
// this overwrites the default value
// outputs '1: booze'
echo $d->ispatch('bar', ['id' => 1, 'slug' => 'booze']);
use Spiffy\Dispatch\Dispatcher;
class TestInvokable implements Dispatchable
{
public function __invoke($id, $slug = 'baz')
{
return $id . ': ' . $slug;
}
}
$d = new Dispatcher();
$d->add('foo', new TestInvokable());
// this uses the default value for $slug
// outputs '1: baz'
echo $d->ispatch('bar', ['id' => 1]);
// this overwrites the default value
// outputs '1: booze'
echo $d->ispatch('bar', ['id' => 1, 'slug' => 'booze']);
use Spiffy\Dispatch\Dispatcher;
class TestCallable implements Dispatchable
{
public function outputId($id)
{
return $id;
}
public static function outputStaticId($id)
{
return $id;
}
}
$test = new TestCallable();
$d = new Dispatcher();
$d->add('foo', [$test, 'outputId']);
// output is '1'
$d->ispatch('foo', ['id' => 1]);
$d->add('bar', 'TestCallable::outputStaticId');
// output is '2'
$d->ispatch('bar', ['id' => 2]);
use Spiffy\Dispatch\Dispatcher;
$d = new Dispatcher();
// assume the TestDispatchable class from above
// instead of this
$d->add('foo', new TestDispatchable());
// you would do this
$d->add('foo', function() {
return new TestDispatchable();
});
// the output is identical to the output from Dispatchable above
// the only difference is that it's lazy loaded on dispatch() instead.
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.