资讯专栏INFORMATION COLUMN

十个推荐使用的 Laravel 的辅助函数

琛h。 / 1499人阅读

摘要:函数允许你将多维数组转换为使用点符号的一维数组。返回应用程序中公共目录的完全限定的绝对路径。要解决此问题,只需运行以下命令即可使用包将字符串转换为复数形式。接受两个参数一个值和一个闭包。该值将被传递给闭包,然后该值将被返回。

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()
(1)函数首先生成一个时间戳 uuid。 这个 uuid 可以存储在索引数据库列中。 这些 uuid 是基于时间戳创建的,因此它们会保留你的内容索引;
(2)在Laravel 5.6中使用它时,会引发 RamseyUuidExceptionUnsatisfiedDependencyException。 要解决此问题,只需运行以下命令即可使用 moontoast/math 包
composer require laravel/passport=~7.0
use IlluminateSupportStr;
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 = AppUser::find(1);

return tap($user, function($user) {
    $user->update([
        "name" => "Random"
    ]);
});
/**
  * 它不会返回布尔值,而是返回 User Model 。如果你没有传递闭包,你也可以使用 User Model 的任何方法。
  * 无论实际返回的方法如何,返回值都将始终为值。 在下面的例子中,它将返回 User Model 而不是布尔值。
  * update 方法返回布尔值,但由于用了 tap ,所以它将返回 User Model。
  */ 
$user = AppUser::find(1);

return tap($user)->update([
    "name" => "SomeName"
]);
dump()
会 dump 给定的变量,同时也支持同时传入多个变量。这对调试非常有用。
$dump($var1);
dump($var1, $var2, $var3);
str_slug()
将给定的字符串生成一个 URL 友好的 slug。 你可以使用此功能为帖子或产品标题创建一个 slug。
$slug = str_slug("Helpers in Laravel", "-");
// helpers-in-laravel
optional()
接受一个参数,你可以调用参数的方法或访问属性。 如果传递的对象为 null,则方法和属性将返回 null,而不是导致错误或抛出异常。
$user = User::find(1);
return optional($user)->name;
原文地址:https://tutsforweb.com/10-bes...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31798.html

相关文章

  • 十个推荐使用 Laravel 辅助函数

    摘要:文章转自包含各种全局辅助函数。返回应用程序中公共目录的完全限定的绝对路径。要解决此问题,只需运行以下命令即可使用包函数将字符串转换为复数形式。该值将被传递给闭包,然后该值将被返回。方法返回布尔值,但由于用了,所以它将返回。 showImg(https://segmentfault.com/img/remote/1460000018944915?w=1408&h=846); 文章转自:h...

    CastlePeaK 评论0 收藏0
  • PHP / Laravel 月刊 #23

    摘要:大刀阔斧的改造在学习了两遍之后,基于教程开发的校园二手书交易平台熊能本周阅读清单纸牌屋弗兰克知道的太晚了实现微信红包拆分算法聊聊最近求职发生的故事無铭更多现代化知识,请前往知识社区 showImg(https://segmentfault.com/img/bV8ctF?w=1650&h=1100); 最新资讯 Laravel 5.6 中文文档翻译完成,译者 60 人,耗时 10 天...

    klinson 评论0 收藏0
  • 十个你需要在 PHP 7 中避免

    摘要:不要使用类函数终于,你不用再看到建议不要使用函数的提示了。因为从核心上完全移除了它们,这意味着请你移步至更好的类函数,或者更灵活的层。将从数据库获取一个元数据,如果您正在循环访问特定文章的元数据,则可以在循环中使用它。 showImg(https://segmentfault.com/img/bV75FM?w=1024&h=534); 1. 不要使用 mysql_ 类函数 终于,你不用...

    leanote 评论0 收藏0
  • 10 个优质 Laravel 扩展推荐

    摘要:优点使用简单服务自定义数据库查询生成多重定制哪里获取表单构造器说实话,我不喜欢在中混合表单。表单构造器能够让你的表单从视图中分离出去。功能多数据库多域名和子域名自动生成或者配置文件支持队列支持文件分开存储。 showImg(https://segmentfault.com/img/remote/1460000015090896); 这里有 10+ 个用来搭建 Laravel 应用的包 ...

    simon_chen 评论0 收藏0
  • Laravel 路由研究之domain 解决多域名问题

    摘要:关于路由中的在多域名下的说明首先,我们需要知道决定了路由会绑定到哪个控制器,还有一点需要注意,路由中的属性,决定了辅助函数生成的。 材料准备 一份干净的laravel 两份Nginx配置文件,主要配置如下: server_name *.amor_laravel_test_1.amor; root /var/www/amor_laravel_test/public; index in...

    bladefury 评论0 收藏0

发表评论

0条评论

琛h。

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<