Laravel 有很多辅助函数,它们提供了一种处理路径、数组和字符串的捷径。而完全了解它们却是几乎不可能的事情。大多数开发者都只知道一些最常见的,但是如果你再深入一点,会发现有一些非常有用的辅助函数。在本文中,我将为你提供十个你应该了解的辅助函数。
1. Logger
logger
辅助函数可以在系统日志等级为 debug
的时候记录一些日志信息。
logger('Product was changed.', ['id' => $product->id]);
上述代码会在日志文件中写入一行信息:
[2019-06-14 09:53:22] local.DEBUG: Product was changed. {"id":4}
如果没有传入参数,那么 logger
函数将会返回 Logger
实例,这样你可以自己控制记录日志的等级。
logger()->error('An error occurred');
上述代码会在日志文件中写入这样的一行信息:
[2019-06-14 09:56:12] local.ERROR: An error occurred
2. 划分一个数组
Arr::divide()
方法允许你将一个数组分成俩数组。函数的返回值为两个数组,一个包含原始数组的键,另一个包含原始数组的值。
use Illuminate\Support\Arr;
[$keys, $values] = Arr::divide(['name' => 'James', 'age' => 33]);
$keys: ['name', 'age']
$values: ['James', 33]
3. Blank
blank
辅助函数会检查给定值是否为空值。空值代表 null
值 、只包含空格的字符串、空数组、或者空字符串。
提示:
Booleans
布尔值,不视为空值
blank('');
blank(' ');
blank(null);
blank(collect())
// 以上均返回 true
blank(0);
blank(true);
blank(false);
// 以上将返回 false
与这个辅助函数相反的是 filled
辅助函数
4. Dump 变量
如果要调试一个或多个变量,使用 dump
变量非常方便。
dump($variable);
还可以通过向 dump
函数传递额外的变量来调试多个变量。
dump($var1, $var2, $var3);
除了 dump
函数之外,还有另一个函数。这个辅助函数就是 dd
, 意思是 dump and die
。这个函数的用法和 dump
一样。 dd
函数不仅执行了 dump
,还会终止执行语句( die()
的效果 )。
5. 路径
Laravel 有多个关于路径的辅助函数,你可以使用这些函数来获取特定目录的完全路径。
以下是 Laravel 关于路径的辅助函数:
- app_path
- base_path
- config_path
- database_path
- public_path
- resource_path
- storage_path
echo storage_path(); // 输出:"C:\Path\To\My\Project\storage"
当然你还可以将参数传递给路径辅助函数,该函数将附加到返回的路径中:
echo storage_path('attachment.pdf'); // 输出: "C:\Path\To\My\Project\storage\attachment.pdf"
6. Slug
要将给定的字符串生成 URL 友好的字符串,可以使用 Str::slug
函数。
$slug = Str::slug('Laravel Is Awesome');
// $slug: "laravel-is-awesome"
默认的分隔符是 连字符(-),当然你也可以通过向函数传递第二个参数来覆盖它。
$slug = Str::slug('Laravel Is Awesome', '&');
// $slug: "laravel&is&awesome"
7. 数组是否具有值
Arr:has
方法可用于使用 “.” 符号来检查数组中是否存在某个项或多个项。
要检查多个项,只需将数组传递给方法而不是传递字符串。
use Illuminate\Support\Arr;
$blogs = ['blog' => ['title' => 'My blog', 'published' => true]];
$contains = Arr::has($blogs, 'blog.title'); // true
$contains = Arr::has($blogs, ['blog.title', 'blog.published']); // true
$contains = Arr::has($blogs, ['blog.title', 'blog.author']); // false
8. UUID
调用 Str::uuid
方法会生成一个 UUID:
use Illuminate\Support\Str;
echo (string) Str::uuid(); // "2ad4abcc-8adc-47b6-b21e-9e5497a8af1b"
9. Optional
optional
辅助函数允许你访问作为参数传递的对象的属性或调用方法。此函数接受任何参数。
如果传递给函数的对象是 null , 则属性和方法将返回 null ,而不会抛出错误。
print optional($blog->author)->full_name;
如果在上面的示例中设置了 $blog->author
,那么将打印 $blog->author
的 full_name
。如果由于某种原因不存在 $blog->author
,就不会抛出错误,也不会打印任何内容。
10. Pluck
Arr::pluck
方法会从数组中检索给定键的所有值。
$parents = [
['parent' => ['id' => 1, 'name' => 'James']],
['parent' => ['id' => 8, 'name' => 'Lisa']],
];
Arr::pluck($parents, 'parent.name'); // ['James', 'Lisa']
以上就是我想和你分享的 10 个 Laravel 辅助函数,也请你分享对这篇文章的看法。一定要好好查看我的其他文章哦,我的很多文章都是关于 Laravel 的。如果你对我的文章有任何反馈、疑问,或者你希望我撰写另一个有关 Laravel 的主题,都可以随时发表评论。
猜你喜欢:- [ Laravel 5.7 文档 ] 进阶系列 —— 辅助函数
- 安全测试辅助之如何快速找出元素绑定的事件函数代码
- 使用 PInvoke.net Visual Studio Extension 辅助编写 Win32 函数签名
- golang辅助包介绍
- 研发辅助神器——Jmock实践
- 研发辅助神器:Jmock 实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。