什么是辅助函数
Laravel 提供了大量全局 PHP 函数(辅助函数)。它们大多用于框架内部,但你也可以在应用中自由使用。 辅助函数大致分为以下几类:- 数组 / 对象 —
Arr::类和data_get()等 - 数值 —
Number::类 - 路径 —
app_path()、storage_path()等 - URL —
route()、url()、asset()等 - 其他 —
config()、collect()、auth()等常用工具
全局辅助函数无需
use 声明即可任意调用。使用 Arr 或 Number 类时需要 use Illuminate\Support\Arr; 等 import。数组辅助(Arr 类)
Arr::get() — 通过点号记法访问嵌套值
从多维数组中通过点号记法(foo.bar.baz)安全地取出嵌套值。键不存在时返回默认值。
Arr::set() — 向嵌套数组设置值
Arr::has() — 判断键是否存在
Arr::only() / Arr::except() — 只保留 / 排除某些键
Arr::pluck() — 从嵌套数组抽取指定键
Arr::first() / Arr::last() — 首个 / 末尾元素
Arr::flatten() — 多维数组扁平化为一维
Arr::wrap() — 确保为数组
若值不是数组则用数组包裹。null 会变为空数组。方便让函数参数灵活接受多种输入。
Arr::sort() — 排序
Arr::dot() / Arr::undot() — 点号记法互转
Arr::join() — 把数组连接为字符串
data_get() — 访问嵌套数据
Arr::get() 的通用版本,除数组外还支持对象、Eloquent 模型、集合。
数值辅助(Number 类)
Number::format()
Number::currency()
Number::fileSize()
Number::abbreviate()
Number::percentage()
路径辅助
获取应用内目录路径。即使部署环境改变也能返回正确路径。URL 辅助
route()
url()
asset()
to_route()
其他常用辅助
config()
collect()
auth()
blank() / filled()
blank() 将 null、空字符串、纯空格、空集合、空数组视为 true。filled() 相反。
abort() / abort_if() / abort_unless()
dd() / dump()
dispatch()
encrypt() / decrypt()
env()
Arr 与 collect() 的选择
Arr:: 类作用于普通 PHP 数组,collect() 返回集合对象。
Eloquent 的结果本身就是集合,无需再用
collect() 包裹。若只是简单数组操作,Arr:: 更简洁。小结
常用辅助函数列表
常用辅助函数列表
Arr 类 vs collect()
Arr 类 vs collect()
适合
Arr:: 的场景:- 简单数组操作(嵌套键访问、键筛选等)
- 不需要集合对象的开销
- 想保持数组形式的结果
collect() 的场景:- 需要多个操作链式表达
- 加工 Eloquent 结果(已是集合)
- 想用
map、filter、groupBy等集合专属方法