esbenp/onion
Fork: 21 Star: 72 (更新于 1970-01-01 00:00:00)
license: MIT
Language: PHP .
A before/after middleware implementation
最后发布版本: 1.0.0 ( 2017-01-10 11:45:54)
Onion
A standalone middleware library without dependencies inspired by middleware in Laravel (Illuminate/Pipeline).
I have written a small blog post about the library and how to use it: Implementing before/after middleware in PHP
Installation
composer require optimus/onion ~1.0
Usage
class BeforeLayer implements LayerInterface {
public function peel($object, Closure $next)
{
$object->runs[] = 'before';
return $next($object);
}
}
class AfterLayer implements LayerInterface {
public function peel($object, Closure $next)
{
$response = $next($object);
$object->runs[] = 'after';
return $response;
}
}
$object = new StdClass;
$object->runs = [];
$onion = new Onion;
$end = $onion->layer([
new AfterLayer(),
new BeforeLayer(),
new AfterLayer(),
new BeforeLayer()
])
->peel($object, function($object){
$object->runs[] = 'core';
return $object;
});
var_dump($end);
Will output
..object(stdClass)#161 (1) {
["runs"]=>
array(5) {
[0]=>
string(6) "before"
[1]=>
string(6) "before"
[2]=>
string(4) "core"
[3]=>
string(5) "after"
[4]=>
string(5) "after"
}
}
esbenp/onion同语言 PHP最近更新仓库
2024-11-20 23:58:25 laravel/framework
2024-11-20 18:39:23 danielmiessler/SecLists
2024-11-16 21:54:23 w7corp/easywechat
2024-11-16 04:49:03 coollabsio/coolify
2024-11-13 23:19:14 symfony/symfony
2024-11-13 22:53:21 symfony/var-dumper