はじめに
この記事はLaravelでコールバック関数を使用した際の備忘録です
修正および加筆が必要な場合は都度更新します
コールバック関数とは
他の関数に引数として渡される関数のことです。
この関数は、特定の処理が完了した後や特定の条件が満たされたときに呼び出されます。コールバックを利用することで、コードをより柔軟にし、再利用性を高めることができます。
JavaScript、Java、C++、phpなどさまざまな多くの言語で利用されています
コールバック関数の利用方法
見本.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数値の合計計算</title>
</head>
<body>
<h1>数値の合計を計算する</h1>
<form method="POST" action="/calculate-sum">
@csrf <!-- CSRFトークンを含める -->
<label for="numbers">数値をカンマで区切って入力してください:</label>
<input type="text" id="numbers" name="numbers" placeholder="例: 1, 2, 3">
<button type="submit">送信</button>
</form>
@if (session('sum'))
<h2>合計: {{ session('sum') }}</h2>
@endif
</body>
</html>
ルーティング.php
use App\Http\Controllers\CalculationController;
Route::post('/calculate-sum', [CalculationController::class, 'calculateSum']);
コントローラー.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CalculationController extends Controller
{
public function calculateSum(Request $request)
{
// 入力された数値をカンマで分割
$numbers = explode(',', $request->input('numbers', ''));
//(キー:numbersがない場合、空文字を代入する
// 合計を計算するコールバック関数
$sum = $this->calculateTotal($numbers);
// 合計をセッションに保存し、元のページにリダイレクト
return redirect()->back()->with('sum', $sum);
}
// 合計を計算するコールバック関数
protected function calculateTotal(array $numbers)
{
// 数値に変換して合計を計算
return array_sum(array_map('floatval', $numbers));
}
}
まとめ
コールバック関数は、他の関数の引数として渡され、特定の条件や処理後に実行される柔軟な機能を持っています。本記事では、Laravelを使用してコールバック関数を活用し、数値の合計を計算する簡単なアプリケーションを提示しています