ヘルパ関数

記事の内容

概要

ヘルパ関数は、開発を効率化するために提供される便利なショートカット関数です。

パスとURL関連

app_path

アプリケーションのappディレクトリのパスを返します。

$path = app_path('Http/Controllers/Controller.php');
// $pathの中身: /var/www/html/app/Http/Controllers/Controller.php

base_path

プロジェクトのルートパスを返します。

$path = base_path('vendor');
// $pathの中身: /var/www/html/vendor

config_path

configディレクトリのパスを返します。

$path = config_path('app.php');
// $path: /var/www/html/config/app.php

public_path

publicディレクトリのパスを返します。

$path = public_path('css/style.css');
// $path: /var/www/html/public/css/style.css

resource_path

publicディレクトリのパスを返します。

$path = resource_path('views/welcome.blade.php');
// $path: /var/www/html/resources/views/welcome.blade.php

storage_path

storageディレクトリのパスを返します。

$path = storage_path('logs/laravel.log');
// $path: /var/www/html/storage/logs/laravel.log

asset

publicディレクトリ内のアセットのURLを返します。

$url = asset('images/logo.png');
// $url: http://example.com/images/logo.png

url

アプリケーションのフルURLを生成します。

$url = url('/home');
// $url: http://example.com/home

route

ルート名からURLを生成します。

$url = route('posts.show', ['post' => 1]);
// $url: http://example.com/posts/1

secure_url

HTTPSのフルURLを生成します。

$url = secure_url('/profile');
// $url: https://example.com/profile

設定と環境関連

config

設定値を取得・設定します。

$timezone = config('app.timezone');
// $timezone: Asia/Tokyo

【ファイル先】config/app.php

<?php

use Illuminate\Support\Facades\Facade;
use Illuminate\Support\ServiceProvider;

return [
===========================
省略
===========================

    'timezone' => 'Asia/Tokyo',

===========================
省略
===========================
];

env

.envファイルから環境変数を取得します。

$env = env('APP_ENV');
// $env: local

【ファイル先】.env

APP_NAME=Laravel
APP_ENV=local
===========================
省略
===========================

abort

特定のHTTPステータスコードで例外をスローします。

abort(404);

abort_if

条件が真の場合に例外をスローします。

abort_if(!$user, 404);

セッションとリダイレクト関連

セッションデータの取得、設定、削除を行います。

session

session()->flash('status', '成功しました!');

redirect

リダイレクトを実行します。

return redirect()->route('home');

back

前のページにリダイレクトします。

return back();

csrf_token

CSRFトークンを取得します。

<input type="hidden" name="_token" value="{{ csrf_token() }}">

old

リダイレクト後に入力された値を取得します。

$oldEmail = old('email');

auth

認証ユーザー情報を取得します。

$user = auth()->user();

ビュー関連

view

ビューを返します。

return view('welcome');

collect

コレクションインスタンスを作成します。

$collection = collect([1, 2, 3]);

optional

nullのオブジェクトでもメソッドを呼び出せるようにします。

$name = optional($user->profile)->name;

tap

渡された値を操作し、その値を返します。

$user = tap($user)->update(['name' => '新しい名前']);

例外処理とエラー関連

abort_unless

条件が偽の場合に例外をスローします。

abort_unless($user->isAdmin(), 403);

info

ログに情報メッセージを記録します。

info('ユーザーが作成されました。');

info

ログにメッセージを記録します。

logger('これはログメッセージです。');

report

例外をログに記録します。

report($exception);

rescue

例外をキャッチしつつ、値を返します。

$value = rescue(fn() => 1 / 0, 0);

日付・時間関連

now

現在の日時を取得します。

$currentTime = now();

today

今日の日付を取得します。

$today = today();

carbon

Carbonインスタンスを生成します。

$date = carbon('2023-01-01');

date

日付フォーマットを指定します。

$today = date('Y-m-d');
// $today: 2024-08-18
記事の内容
閉じる