記事の内容
概要
ヘルパ関数は、開発を効率化するために提供される便利なショートカット関数です。
パスとURL関連
app_path
アプリケーションのappディレクトリのパスを返します。
$path = app_path('Http/Controllers/Controller.php');
// $pathの中身: /var/www/html/app/Http/Controllers/Controller.phpbase_path
プロジェクトのルートパスを返します。
$path = base_path('vendor');
// $pathの中身: /var/www/html/vendorconfig_path
configディレクトリのパスを返します。
$path = config_path('app.php');
// $path: /var/www/html/config/app.phppublic_path
publicディレクトリのパスを返します。
$path = public_path('css/style.css');
// $path: /var/www/html/public/css/style.cssresource_path
publicディレクトリのパスを返します。
$path = resource_path('views/welcome.blade.php');
// $path: /var/www/html/resources/views/welcome.blade.phpstorage_path
storageディレクトリのパスを返します。
$path = storage_path('logs/laravel.log');
// $path: /var/www/html/storage/logs/laravel.logasset
publicディレクトリ内のアセットのURLを返します。
$url = asset('images/logo.png');
// $url: http://example.com/images/logo.pngurl
アプリケーションのフルURLを生成します。
$url = url('/home');
// $url: http://example.com/homeroute
ルート名からURLを生成します。
$url = route('posts.show', ['post' => 1]);
// $url: http://example.com/posts/1secure_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