関数をパラメーターとして渡す場合、関数の外側の変数を使用する必要がある場合は、
キーワードを使用する必要があります。
use
これは、LaravelまたはLumenのグループルートで一般的です。
キーワードの使用が必要であることに注意してください:
use
上記のコードはLumenの文書から取得されます。 Lambda関数(矢印関数)を使用してこのコードの書き換えに使用すると、関数内の他のすべての変数を関数内で使用できます。
<code class="language-php">$router->group(['prefix' => 'admin'], function() use ($router) { $router->get('users', function() { // 匹配 "/admin/users" URL }); });</code>
ここでは、キーワード
を使用する必要はないことに注意してください。コードはより簡潔になります。
use
これは、Lambda関数の最も重要な機能の1つです。これは、Lambda関数が閉鎖を作成できるようにします(この記事の議論の範囲内ではありません)。
<code class="language-php">$router->group(['prefix' => 'admin'], fn() => ( $router->get('users', fn() => ( // 匹配 "/admin/users" URL )); ));</code>
他の言語では、
キーワードはありません。関数はその周りのコンテキストを知りません。 この場合、同様の動作を達成する方法は?
毎回変数をパラメーターとして渡す必要がありますが、これは本当に私たちが望むものではありません。 use
以上がラムダと通常の機能の実際の違い(PHPを使用)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。