扩展Laravel 5的响应门面以包括更多帮助者?

时间:2016-06-29 08:33:03

标签: php laravel laravel-5 laravel-facade

我正在尝试允许用户执行类似my @sorted = sort { "\L$a" cmp "\L$b" } @array; 的操作,但我不明白我是如何继续将我的YAML方法注入response()(ResponseFactory)外观。

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

我查看了this question,但遗憾的是我没有看到它的用例,我认为它并不专注于添加一个可以通过use feature qw(fc); my @sorted = sort { fc($a) cmp fc($b) } @array; 调用的其他方法。

1 个答案:

答案 0 :(得分:4)

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

boot的{​​{1}}方法中(或在ServiceProvider包中)添加以下内容:

AppServiceProvider

现在,您可以使用Response::macro('yaml', function ($content) { return yaml_whatever($content); //Use your implementaion here });