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年3月29日