Heim > PHP-Framework > Laravel > Hauptteil

Zehn empfohlene Laravel-Hilfsfunktionen

步履不停
Freigeben: 2019-06-27 18:05:57
Original
2758 Leute haben es durchsucht

Zehn empfohlene Laravel-Hilfsfunktionen

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
Nach dem Login kopieren

array_get()

函数使用点符号从多维数组中检索值。
$array = [
    'user' => ['username' => 'something'],
    'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$name = array_get($array, 'app.creator.name');
// someone
Nach dem Login kopieren
如果 key 不存在,array_get() 函数还接受可选的第三个参数作为默认值。
$name = array_get($array, 'app.created.name', 'anonymous');
// anonymous
Nach dem Login kopieren

public_path()

返回 Laravel 应用程序中公共目录的完全限定的绝对路径。 你还可以将路径传递到公共目录中的文件或目录以获取该资源的绝对路径。 它将简单地将 public_path() 添加到你的参数中。
$public_path = public_path();
$path = public_path('js/app.js');
Nach dem Login kopieren

Str::orderedUuid()

(1)函数首先生成一个时间戳 uuid。 这个 uuid 可以存储在索引数据库列中。 这些 uuid 是基于时间戳创建的,因此它们会保留你的内容索引;
(2)在Laravel 5.6中使用它时,会引发 RamseyUuidExceptionUnsatisfiedDependencyException。 要解决此问题,只需运行以下命令即可使用 moontoast/math 包
Komponist benötigt laravel/passport=~7.0
use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid
Nach dem Login kopieren

str_plural()

将字符串转换为复数形式。该功能只支持英文。
echo str_plural('bank');
// banks
echo str_plural('developer');
// developers
Nach dem Login kopieren

route()

为指定的路由生成路由 URL。
$url = route('login');
// 如果路由接受参数,你可以简单地将它们作为第二个参数传递给一个数组。
$url = route('products', ['id' => 1]);
// 如果你想产生一个相对的 URL 而不是一个绝对的 URL,你可以传递 false 作为第三个参数。
$url = route('products', ['id' => 1], false);
Nach dem Login kopieren

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'
]);
Nach dem Login kopieren

dump()

会 dump 给定的变量,同时也支持同时传入多个变量。这对调试非常有用。
$dump($var1);
dump($var1, $var2, $var3);
Nach dem Login kopieren

str_slug()

将给定的字符串生成一个 URL 友好的 slug。 你可以使用此功能为帖子或产品标题创建一个 slug。
$slug = str_slug('Helpers in Laravel', '-');
// helpers-in-laravel
Nach dem Login kopieren

optional()

接受一个参数,你可以调用参数的方法或访问属性。 如果传递的对象为 null,则方法和属性将返回 null,而不是导致错误或抛出异常。
$user = User::find(1);
return optional($user)->name;
Nach dem Login kopieren

Mehr für Weitere Informationen zu Laravel-bezogenen technischen Artikeln finden Sie in der Spalte Laravel-Tutorial!

Das obige ist der detaillierte Inhalt vonZehn empfohlene Laravel-Hilfsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!