1. Go to this page and download the library: Download aura/dispatcher 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/ */
aura / dispatcher example snippets
use Aura\Dispatcher\Dispatcher;
$dispatcher = new Dispatcher;
$dispatcher->setObjectParam('controller');
$dispatcher->setObject('blog', function ($id) {
return "Read blog entry $id";
});
// a dispatchable closure that takes an array of params directly,
// not the individual params by keys matching argument names
$dispatcher->setObject('blog', function ($params) {
return "Read blog entry {$params['id']}"
});
// the initial params
$params = [
'controller' => 'blog',
'action' => 'read',
'id' => 88,
];
// set a params reference into itself; this corresponds with the
// 'params' closure argument
$params['params'] =& $params;
// dispatch
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
$dispatcher->setObjectParam('controller');
$params = [
'controller' => function ($id) {
return "Read blog entry $id";
},
'id' => 88,
];
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
$dispatcher->setObject('blog', function ($id) {
return "Read blog entry $id!";
});
$params = [
'controller' => 'blog',
'id' => 88,
];
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
class Blog
{
public function __invoke($id)
{
return "Read blog entry $id";
}
}
$dispatcher->setObject('blog', function () {
return new Blog;
});
$params = [
'controller' => 'blog',
'id' => 88,
];
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
class Blog
{
public function browse()
{
// ...
}
public function read($id)
{
return "Read blog entry $id";
}
public function edit($id)
{
// ...
}
public function add()
{
// ...
}
public function delete($id)
{
// ...
}
}
$dispatcher->setMethodParam('action');
$dispatcher->setObject('blog', function () {
return new Blog;
});
$params = [
'controller' => 'blog',
'action' => 'read',
'id' => 88,
];
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
$object_param = 'controller';
$method_param = 'action';
$objects = [
'blog' => function () {
return new BlogController;
},
'wiki' => function () {
return new WikiController;
},
'forum' => function () {
return new ForumController;
},
];
$dispatcher = new Dispatcher($objects, $object_param, $method_param);
use Aura\Dispatcher\InvokeMethodTrait;
class Blog
{
use InvokeMethodTrait;
public function __invoke(array $params)
{
$action = isset($params['action']) ? $params['action'] : 'index';
$method = 'action' . ucfirst($action);
return $this->invokeMethod($this, $method, $params);
}
protected function actionRead($id = null)
{
return "Read blog entry $id";
}
}
$dispatcher->setObject('blog', function () {
return new Blog;
});
$params = [
'controller' => 'blog',
'action' => 'read',
'id' => 88,
];
$result = $dispatcher($params); // or call __invoke() directly
echo $result; // "Read blog entry 88"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.