クロージャルーティングの実装


クロージャの定義

クロージャを使用すると、コントローラの操作メソッドを実行せずに、特別なニーズを持ついくつかのルートを定義できます。たとえば、 :

Route::get('hello', function () {
    return 'hello,world!';
});

パラメータの受け渡し

クロージャが定義されている場合、パラメータの受け渡しがサポートされます。例:

Route::get('hello/:name', function ($name) {
    return 'Hello,' . $name;
});

ルール ルーティングで定義されている動的変数の名前は、次のとおりです。クロージャー関数 (順不同)。

したがって、アクセスする URL アドレスが

http://serverName/hello/thinkphp

である場合、ブラウザによる結果出力は次のようになります:

Hello,thinkphp

Dependency Injection

クロージャで依存性注入を使用できます。例:

Route::rule('hello/:name', function (Request $request, $name) {
    $method = $request->method();
    return '[' . $method . '] Hello,' . $name;
});