- Laravel 常用辅助函数
- 辅助函数
- array_dot() 辅助函数允许你将多维数组转换为使用点符号的一维数组
- array_get() 函数使用点符号从多维数组中检索值
- public_path() 返回 Laravel 应用程序中公共目录的完全限定的绝对路径
- Str::orderedUuid() 函数首先生成一个时间戳 uuid
- str_plural 函数将字符串转换为复数形式,该功能只支持英文
- route() 函数为指定的路由生成路由URL
- tap() 函数接受两个参数:一个值和一个闭包
- optional() 函数接受一个参数,你可以调用参数的方法或访问属性
- 集合
- 一维数组去重 duplicates
- 遍历集合 each
- 集合 has 方法可以用来查看某个键是否存在于集合中
- 集合 implode 方法可以连接集合中的值
- 集合 Push 与 Pull
- 集合 Shuffle 方法
- 集合 Max 方法
Laravel 包含各种全局辅助函数。 laravel 中包含大量辅助函数,您可以使用它们来简化开发工作流程。
array_dot() 辅助函数允许你将多维数组转换为使用点符号的一维数组$array = [
'user' => ['username' => 'something'],
'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$dot_array = array_dot($array);
// [user.username] => something, [app.creator.name] => someone, [app.created] => today
$array = [
'user' => ['username' => 'something'],
'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$name = array_get($array, 'app.creator.name');
// someone
如果 key
不存在,array_get()
函数还接受可选的第三个参数作为默认值。
$name = array_get($array, 'app.created.name', 'anonymous');
// anonymous
public_path() 返回 Laravel 应用程序中公共目录的完全限定的绝对路径
还可以将路径传递到公共目录中的文件或目录以获取该资源的绝对路径。 它将简单地将 public_path()
添加到你的参数中。
$public_path = public_path();
$path = public_path('js/app.js');
Str::orderedUuid() 函数首先生成一个时间戳 uuid
这个uuid可以存储在索引数据库列中。
这些uuid是基于时间戳创建的,因此它们会保留你的内容索引。
在Laravel 5.6中使用它时, 会引发Ramsey\Uuid\Exception\UnsatisfiedDependencyException
。 要解决此问题,只需运行以下命令即可使用 moontoast/math
包:
composer require "moontoast/math"
use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid
str_plural 函数将字符串转换为复数形式,该功能只支持英文
echo str_plural('bank');
// banks
echo str_plural('developer');
// developers
route() 函数为指定的路由生成路由URL
$url = route('login');
如果路由接受参数,你可以简单地将它们作为第二个参数传递给一个数组。
$url = route('products', ['id' => 1]);
如果你想产生一个相对的URL而不是一个绝对的URL,你可以传递 false 作为第三个参数。
$url = route('products', ['id' => 1], false);
tap() 函数接受两个参数:一个值和一个闭包
该值将被传递给闭包,然后该值将被返回。 闭包返回值无关紧要。
$user = App\User::find(1);
return tap($user, function($user) {
$user->update([
'name' => 'Random'
]);
});
它不会返回布尔值,而是返回 User Model
。
如果你没有传递闭包,你也可以使用 User Model
的任何方法。
无论实际返回的方法如何,返回值都将始终为值。
在下面的例子中,它将返回 User Model
而不是布尔值。 update
方法返回布尔值,但由于用了 tap
,所以它将返回 User Model
。
$user = App\User::find(1);
return tap($user)->update([
'name' => 'SomeName'
]);
optional() 函数接受一个参数,你可以调用参数的方法或访问属性
如果传递的对象为 null
,则方法和属性将返回 null
,而不是导致错误或抛出异常。
$user = User::find(1);
return optional($user)->name;
集合
一维数组去重 duplicates
duplicates
方法可以检索出集合中所有重复的值。返回的数组中会包含每个值在原数组中的键。
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?