記事の内容
概要
ヘルパ関数は、開発を効率化するために提供される便利なショートカット関数です。
パスと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