Laravel에는 다양한 전역 도우미 기능이 포함되어 있습니다. Laravel에는 개발 작업 흐름을 간소화하는 데 사용할 수 있는 다양한 도우미 기능이 포함되어 있습니다. 여기에서는 개발을 더 쉽게 하기 위해 사용하는 10가지 최고의 라라벨 도우미 함수를 작성하겠습니다. 필요할 경우 사용을 고려해야 합니다.
모든 공식 문서도 볼 수 있습니다laravel 도우미 함수.
array_dot()
array_dot() 도우미 함수를 사용하면 점 표기법을 사용하여 다차원 배열을 1차원 배열로 변환할 수 있습니다. array_dot()
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中使用它时,会引发 RamseyUuidExceptionUnsatisfiedDependencyException
。 要解决此问题,只需运行以下命令即可使用 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' ]);
dump()
函数会dump给定的变量,同时也支持同时传入多个变量。这对调试非常有用。
dump($var1); dump($var1, $var2, $var3);
str_slug()
函数将给定的字符串生成一个 URL 友好的 slug。 你可以使用此功能为帖子或产品标题创建一个 slug。
$slug = str_slug('Helpers in Laravel', '-'); // helpers-in-laravel
optional()
$user = User::find(1); return optional($user)->name;
public_path()
Laravel 애플리케이션의 공개 디렉터리에 대한 정규화된 절대 경로를 반환합니다. 공용 디렉터리의 파일이나 디렉터리 경로를 전달하여 리소스의 절대 경로를 얻을 수도 있습니다. 매개변수에 public_path()
를 추가하기만 하면 됩니다. #🎜🎜#rrreee#🎜🎜#Str::orderedUuid()#🎜🎜##🎜🎜#Str::orderedUuid()
이 함수는 먼저 타임스탬프 UUID를 생성합니다. 이 uuid는 인덱싱된 데이터베이스 열에 저장될 수 있습니다. 이러한 UUID는 타임스탬프를 기반으로 생성되므로 콘텐츠의 색인이 유지됩니다. Laravel 5.6에서 이를 사용하면 RamseyUuidExceptionUnsatisfiedDependencyException
이 발생합니다. 이 문제를 해결하려면 다음 명령을 실행하여 moontoast/math
패키지를 사용하세요. 함수는 문자열을 복수형으로 변환합니다. 이 기능은 영어만 지원합니다. #🎜🎜#rrreee#🎜🎜#route()#🎜🎜##🎜🎜#route()
이 함수는 지정된 경로에 대한 경로 URL을 생성합니다. #🎜🎜#rrreee#🎜🎜#라우트가 매개변수를 허용하는 경우 이를 배열의 두 번째 매개변수로 전달하기만 하면 됩니다. #🎜🎜#rrreee#🎜🎜# 절대 URL 대신 상대 URL을 생성하려면 세 번째 매개변수로 false
를 전달하면 됩니다. #🎜🎜#rrreee#🎜🎜#tap()#🎜🎜##🎜🎜#tap()
이 함수는 값과 클로저라는 두 가지 매개변수를 허용합니다. 값은 클로저로 전달되고 값이 반환됩니다. 클로저 반환 값은 중요하지 않습니다. #🎜🎜#rrreee#🎜🎜#부울 값을 반환하지 않고 사용자 모델
을 반환합니다. #🎜🎜##🎜🎜#클로저를 전달하지 않으면 사용자 모델
의 모든 방법을 사용할 수도 있습니다. 반환 값은 실제로 반환하는 메서드에 관계없이 항상 값입니다. 아래 예에서는 부울 값 대신 사용자 모델
을 반환합니다. update
메소드는 부울 값을 반환하지만 tap
이 사용되므로 사용자 모델
을 반환합니다. #🎜🎜#rrreee#🎜🎜#dump()#🎜🎜##🎜🎜#dump()
이 함수는 주어진 변수를 덤프하고 동시에 여러 변수를 전달하는 것도 지원합니다. 이는 디버깅에 매우 유용합니다. #🎜🎜#rrreee#🎜🎜#str_slug()#🎜🎜##🎜🎜#str_slug()
이 함수는 주어진 문자열에서 URL 친화적인 슬러그를 생성합니다. 이 기능을 사용하여 게시물이나 제품 제목에 대한 슬러그를 만들 수 있습니다. #🎜🎜#rrreee#🎜🎜#선택적()#🎜🎜##🎜🎜#선택적()
이 함수는 매개변수를 허용하며, 매개변수의 메소드를 호출하거나 속성에 액세스할 수 있습니다. 전달된 개체가 null인 경우 메서드와 속성은 오류를 발생시키거나 예외를 발생시키는 대신 null을 반환합니다. #🎜🎜#rrreee#🎜🎜#더 많은 Laravel 관련 기술 기사를 보려면 #🎜🎜##🎜🎜#Laravel 튜토리얼#🎜🎜##🎜🎜# 컬럼을 방문하여 알아보세요! #🎜🎜#위 내용은 10가지 권장 Laravel 도우미 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!