본문 바로가기

프로그래밍 언어/PHP

라라벨(Laravel) 필수 헬퍼 함수(Helper Functions)

dump($var1, $var2, $var3);​
blank('');  		// => true
blank('   ');     	// => true
blank(null);     	// => true
blank(collect());   // => true

//================================

blank(0);			// => false
blank(true);		// => false
blank(false);		// => false

라라벨에는 패스(Path), 배열(Array), 문자열(String)에 대한 많은 헬퍼 함수가 있습니다. 

그중에 가장 일반적이고 많이 사용하는 10가지 헬퍼 함수를 알아보도록 하겠습니다. 

로거(Logger)

Logger 헮퍼는 debug 레벨의 로그 메시지를 출력할 수 있습니다. 

 

<사용방법 1>

logger('Product was changed.', ['id' => $product->id]);

<결과값>

[2020-05-04 09:53:22] local.DEBUG: Product was changed. {"id":4}

<사용법 2>

logger()->error('An error occurred');

<결과값>

[2020-05-04 09:56:12] local.ERROR: An error occurred

 

배열 나누기

Arr::divide() 함수를 사용하여 배열을 분할할 수 있습니다. 

 

<사용법>

use Illuminate\Support\Arr;

[$keys, $values] = Arr::divide(['name' => 'James', 'age' => 33]);

<결과값>

$keys: ['name', 'age']
$values: ['James', 33]

 

공백 체크(Blank)

blank 헬퍼 함수를 이용하여 공백인지 아닌지를 체크할 수 있습니다. 

blank('');		// => true
blank('   ');		// => true
blank(null);		// => true
blank(collect());	// => true

//===============================

blank(0);		// => false
blank(true);		// => false
blank(false);		// => false

 

Dump

변수를 디버깅할 때 유용한 헬퍼 함수입니다. 

dump($variable);

여러 변수를 한번에 사용하는 것도 가능합니다. 

dump($var1, $var2, $var3);

 

패스(Paths)

라라벨에서는 저정된 패스를 출력해주는 헬퍼 함수들이 존재합니다. 

  • app_path
  • base_path
  • config_path
  • database_path
  • public_path
  • resource_path
  • storage_path

Slug

Str::slug 헬퍼 함수는 URL에 친화적인 문자열을 만들어주는 역할을 합니다. 

 

<사용법 - 1>

$slug = Str::slug('Laravel Is Awesome');

<결과값>

$slug: "laravel-is-awesome"

 

<사용법 - 2>

$slug = Str::slug('Laravel Is Awesome', '&');

<결과값>

$slug: "laravel&is&awesome"

 

Array has

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

UUID

Str::uuid 헬퍼 함수는 UUID를 생성합니다. 

use Illuminate\Support\Str;

echo(string) Str::uuid(); // "2ad4abcc-8adc-47b6-b21e-9e5497a8af1b"

Optional

optional 헬퍼 함수는 프로퍼티를 참조하거나 메소드를 호출할 때 사용합니다. 

함수에 전달 된 객체가 null이면 오류를 발생시키지 않고 null을 반환해 줍니다. 

 

print optional($blog->author)->full_name;

 

Pluck

Arr::pluck 헬퍼 함수는 배열에서 주어진 키의 모든 배열 값을 검색해줍니다. 

$parents = [
    ['parent' => ['id' => 1, 'name' => 'James']],
    ['parent' => ['id' => 8, 'name' => 'Lisa']],
];

Arr::pluck($parents, 'parent.name'); // ['James', 'Lisa']

 

 

참고 원문 블로그 

https://medium.com/swlh/10-laravel-helpers-that-you-should-know-9edbb78c2b0a