装饰器¶
装饰器操作由 Toknot\Boot\Decorator
提供。支持函数于类方法装饰。
-
Kernel::decorator($func [, $isClass = false])
参数: - $func (string|array) – 函数名,类名,或者包含类名与方法的数组
- $isClass (boolean) – 是否是类名,为 true 是,字符串才会被当成类名
-
class
Toknot.Boot.
Decorator
($func[, $isClass = false])¶ 可直接实例化获得装饰器
use Toknot\Boot\Kernel;
function dec1($r) {
echo $r;
echo 'this dec1';
return 2;
}
function dec2($r) {
echo $r;
echo 'this dec2'
return function() {
echo 'return function';
}
}
/**
* @decorator dec2
* @decorator dec1
*/
function call() {
echo 'this call';
return 1;
}
$dec = Kernel::single()->decorator('call');
/*
上面代码会依次输出:
this call
1
this dec1
2
this dec2
*/
$dec(); // 输出 return function
Toknot 是使用 PHP 代码注释实现的装饰器,所以对于代码注释,必须符合规范。
装饰器支持函数与类静态方法。可对函数,类方法,类进行装饰。
如果装饰器是静态类方法,注释值应当是用 **::** 分割类名和方法名