您当前的位置: 首页 >  ar

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Laravel 常用辅助函数

知其黑、受其白 发布时间:2022-08-30 15:23:23 ,浏览量:0

阅读目录
  • 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 包含各种全局辅助函数。 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_get() 函数使用点符号从多维数组中检索值
$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 方法可以检索出集合中所有重复的值。返回的数组中会包含每个值在原数组中的键。

            
关注
打赏
1665558895
查看更多评论
0.0925s