1. Go to this page and download the library: Download gigablah/durian 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/ */
gigablah / durian example snippets
$app = new Durian\Application();
$app->route('/hello/{name}', function () {
return 'Hello '.$this->params('name');
});
$app->run()->send();
$responseTimeHandler = $app->handler(function () {
// this executes before the rest of the stack
$time = microtime(true);
yield;
// this executes after the rest of the stack
$time = microtime(true) - $time;
$this->response()->headers->set('X-Response-Time', $time);
}, function () use ($app) {
// only execute for the master request in the debug environment
return $this->master() && $app['debug'];
});
$expensiveOperation = function () use ($app) {
$app['awesome_library']->performExpensiveOperation();
yield;
$app['awesome_library']->performCleanUp();
};
$app->route('/hello', $expensiveOperation, function () {
return 'Hello';
})->route(...);
// Routes will support GET by default
$app->route('/users');
// Methods can be declared without handlers
$app->route('/users/{name}')->post();
// Declare multiple methods separated by pipe characters
$app->route('/users/{name}/friends')->method('GET|POST');
$app->route('/tea', function () use ($app) {
$this->response('I\'m a teapot', 418);
});
$app->route('/404', function () {
// Alternatively pass in an exception object as the first parameter
$this->error('Not Found', 404);
});
$app->route('/fail', function () {
return 500;
});
$app->route('/song/{id:[0-9]+}', function () use ($app) {
$id = $this->params('id');
return [
'id' => $id,
'artist' => $app->run('GET', "/artists-by-song/$id")->getContent()
];
});
$app->handlers([
new Durian\Middleware\ResponseMiddleware($app),
new Durian\Handler([
new Durian\Middleware\WhoopsMiddleware($app),
new Durian\Middleware\RouterMiddleware($app)
])
]);
$app->route('/foo', new Durian\Middleware\WhoopsMiddleware($app), function () {
throw new \Exception('bar');
});
$app->run($request); // handle a request or subrequest
$app->run($method, $path); // handle a HTTP method for a request path
$app->handler($callable, $condition); // wrap a callback as a Handler
$app->handlers(); // get the handler stack
$app->handlers(array $handlers, $replace); // replace or append to the stack
$app->before($callable, $condition); // prepend a handler to the stack
$app->after($callable, $condition); // append a handler to the stack
$app->route($path, ...$handlers); // start a new route segment
$app->handle($request, $type, $catch); // implement HttpKernelInterface::handle
$handler->run(); // iterate through the handler stack
$handler->handler($callable, $condition); // wrap a callback as a Handler
$handler->handlers(); // get the handler stack
$handler->handlers(array $handlers, $replace); // replace or append to the stack
$handler->context($context); // set the HTTP context
$handler->context(); // get the HTTP context
$handler->before($callable, $condition); // prepend a handler to the stack
$handler->after($callable, $condition); // append a handler to the stack
$handler->options(array $options); // set the handler options
$handler->options(); // get the handler options
$route->route($path, ...$handlers); // append a new route segment
$route->method($methods, ...$handlers); // register method handler(s)
$route->get(...$handlers); // register method handler(s) for GET
$route->post(...$handlers); // register method handler(s) for POST
$route->put(...$handlers); // register method handler(s) for PUT
$route->delete(...$handlers); // register method handler(s) for DELETE
$route->patch(...$handlers); // register method handler(s) for PATCH
$route->options(...$handlers); // register method handler(s) for OPTIONS
$route->head(...$handlers); // register method handler(s) for HEAD
$route->dump(); // recursively dump all routes to an array
$context->request(); // get the Request
$context->request($request, $type); // set the Request
$context->response(); // get the Response
$context->response($response); // set the Response
$context->response($content, $status, array $headers); // create a new Response
$context->error($exception); // throw an exception
$context->error($message, $status, array $headers, $code); // throw an exception
$context->master(); // check whether the current request is the master request
$context->params($key); // get a route parameter
$context->params($key, $default); // get a route parameter with fallback
$context->params(array $params); // insert route parameters
$context->params(); // get all route parameters
$context->append($output); // append a handler return value
$context->last(); // get the last handler return value
$context->clear(); // clear the current context
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.