使用 macro() 扩展集合

macro() 函数允许你向 Illuminate\Support\Collection 对象添加新功能

用法:

Collection::macro("macro_name", function ($parameters) {
    // Your macro
});

例如:

Collection::macro('uppercase', function () {
    return $this->map(function ($item) {
        return strtoupper($item);
    });
});

collect(["hello", "world"])->uppercase();

结果:["HELLO", "WORLD"]