【问题标题】:Extend Laravel 5's Response Facade to include further helpers?扩展 Laravel 5 的 Response Facade 以包含更多帮助者?
【发布时间】:2016-06-29 08:33:03
【问题描述】:

我试图允许用户执行response()->yaml(['their content']) 之类的操作,但我不明白如何继续将我的 YAML 方法注入 response() (ResponseFactory) 门面。

是否有任何指南可以解释如何执行此操作?或者也许是某人的快速描述?这是我第一次尝试为 Laravel 构建一个包,它也将是开源的!

我查看了this question,但不幸的是我没有看到它的用例,而且我认为它并不专注于添加一个可以通过response() 调用的额外方法。

【问题讨论】:

    标签: php laravel laravel-5 laravel-facade


    【解决方案1】:

    您可以使用Response Macros 来实现您的目标。

    AppServiceProviderboot 方法中(或在ServiceProvider 包中)添加以下内容:

    Response::macro('yaml', function ($content) {
        return yaml_whatever($content); //Use your implementaion here
    });
    

    现在,您可以使用return response()->yaml($content);

    【讨论】:

    • 哇,但是这些函数不能自动完成在像 phpStorm 这样的 IDE 中,所以我会寻找扩展响应类的解决方案
    猜你喜欢
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 2011-07-12
    • 2010-12-20
    相关资源
    最近更新 更多