webman有没有可能考虑内置Macro宏功能呢?

极胜100

问题描述

在laravel里,向框架已有的类添加一个方法可通过

Illuminate\Support\Traits\Macroable
这个动态类实现。
比如我想在Request 对象里添加一个自定义的方法,可以通过以下方式

Request::macro('isApiRequest', function () {
    return $this->header('Accept') === 'application/json';
});

在控制器里就可以直接调用

$request->isApiRequest();

现在的webman框架如果想要为Request,Response等对象添加自定义的方法,只能通过子类继承\Webman\Http\Request 的方式。

如果webman能支持Macroable 那么开发者就可以在自己的bootstrap里面无侵入的为框架已有的类添加各种自定义方法。

190 2 0
2个回答

不支持,欢迎pr

  • 极胜100 9天前

    哈哈,其实这个支持挺简单的,composer require illuminate/macroable
    然后 在 Webman\Http\Request 和Response 类 里加上 use Macroable; 即可

    我只是担心按照webman框架最小核心为理念,有没有必要内置进来

veeoo

可以使用闭包Closure的的bind、call特性

  • 暂无评论
×
🔝