1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コールバック関数の使い方(初心者向け)

Posted at

はじめに

この記事は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を使用してコールバック関数を活用し、数値の合計を計算する簡単なアプリケーションを提示しています

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?