Skip to main content

헬퍼 함수란

Laravel은 다수의 글로벌 PHP 함수(헬퍼)를 제공하고 있습니다. 프레임워크 자체가 내부에서 사용하고 있는 것이 대부분이지만, 애플리케이션 내에서도 자유롭게 이용할 수 있습니다. 헬퍼는 크게 다음의 카테고리로 나누어져 있습니다.
  • 배열·객체Arr:: 클래스와 data_get() 등의 함수
  • 숫자Number:: 클래스
  • 경로app_path(), storage_path() 등의 경로 취득 함수
  • URLroute(), url(), asset() 등의 URL 생성 함수
  • 기타config(), collect(), auth() 등 자주 사용하는 유틸리티
헬퍼 함수는 use 선언이 불필요하며 어디에서도 호출할 수 있습니다. ArrNumber 클래스를 사용하는 경우는 use Illuminate\Support\Arr; 등의 임포트가 필요합니다.

배열 헬퍼(Arr 클래스)

Arr::get() — 도트 표기법으로 중첩된 값을 취득

다차원 배열에서 도트 표기법(foo.bar.baz)으로 중첩된 값을 안전하게 취득합니다. 키가 존재하지 않는 경우 기본값을 반환합니다.
data_get() 글로벌 함수도 같은 기능을 갖습니다. Eloquent의 릴레이션과 같은 Arrayable한 객체에도 대응하고 있어, 더 범용적인 장면에서 사용할 수 있습니다.

Arr::set() — 중첩된 배열에 값을 설정

Arr::has() — 키의 존재를 확인

Arr::only() / Arr::except() — 키를 좁히기·제외

요청 데이터나 설정 배열에서 필요한 키만 꺼내거나, 불필요한 키를 제외할 때 편리합니다.

Arr::pluck() — 중첩된 배열에서 특정 키를 뽑아냄

Arr::first() / Arr::last() — 조건을 만족하는 최초·마지막 요소

Arr::flatten() — 다차원 배열을 1차원으로 평탄화

Arr::wrap() — 값을 확실하게 배열로

값이 배열이 아닌 경우 배열로 랩합니다. null은 빈 배열이 됩니다. 함수의 인수를 유연하게 받아들일 때 도움이 됩니다.

Arr::sort() — 값으로 정렬

Arr::dot() / Arr::undot() — 도트 표기법으로 변환·복원

Arr::join() — 배열을 문자열로 결합

data_get() — 중첩된 데이터에의 접근

Arr::get()의 범용 버전입니다. 배열뿐 아니라 객체나 Eloquent 모델, 컬렉션에도 대응하고 있습니다.

숫자 헬퍼(Number 클래스)

Number::format() — 숫자를 읽기 쉬운 형식으로

Number::currency() — 통화 포맷

Number::fileSize() — 파일 사이즈를 사람이 읽을 수 있는 형식으로

Number::abbreviate() — 큰 수를 생략 표기로

Number::percentage() — 퍼센트 표시

경로 헬퍼

애플리케이션 내의 디렉터리 경로를 취득합니다. 환경이나 배포 대상이 바뀌어도 올바른 경로를 반환합니다.

URL 헬퍼

route() — 이름이 있는 라우트의 URL 생성

url() — 임의 경로의 절대 URL 생성

asset() — 정적 애셋의 URL 생성

to_route() — 이름이 있는 라우트에의 리다이렉트

기타 자주 사용하는 헬퍼

config() — 설정값의 취득·설정

collect() — 컬렉션의 작성

collect()는 컬렉션에의 입구가 되는 가장 중요한 헬퍼입니다. 자세한 내용은 컬렉션을 참조해 주십시오.

auth() — 인증 사용자의 취득

blank() / filled() — 빈 상태 체크

blank()null, 빈 문자열, 공백만, 빈 컬렉션·배열을 true로 간주합니다. filled()는 그 반대입니다.

abort() / abort_if() / abort_unless() — HTTP 예외

dd() / dump() — 디버그

dispatch() — 잡을 큐에 투입

encrypt() / decrypt() — 암호화

env() — 환경 변수의 취득

env()는 컨트롤러나 서비스 클래스에서 직접 호출하는 것이 아니라, config/ 파일 내에서 호출해 config() 경유로 접근하는 것이 모범 사례입니다. 설정값의 캐시(php artisan config:cache)가 유효한 경우, env()가 의도한 값을 반환하지 않는 경우가 있습니다.

collect() 와의 사용 구분

Arr:: 클래스는 일반 PHP 배열을 대상으로 한 조작, collect()는 컬렉션 객체를 반환하는 조작입니다.
Eloquent의 결과는 자동으로 컬렉션으로서 반환되므로, collect()로 감쌀 필요는 없습니다. 단순한 배열 조작으로 충분한 경우는 Arr::를 사용하면 단순하게 쓸 수 있습니다.

정리

Arr:: 클래스를 사용할 장면:
  • 단순한 배열 조작(중첩된 키에의 접근, 키의 좁히기 등)
  • 컬렉션 객체의 오버헤드가 불필요한 경우
  • 결과를 배열인 채로 다루고 싶은 경우
collect()를 사용할 장면:
  • 여러 조작을 메서드 체인으로 표현하고 싶은 경우
  • Eloquent의 결과를 추가로 가공하는 경우(이미 컬렉션)
  • map, filter, groupBy 등 컬렉션 고유의 메서드를 사용하고 싶은 경우
마지막 수정일 2026년 7월 13일