ホームページ >バックエンド開発 >PHPチュートリアル >PHP 7.2 以降で非推奨となった PHP の `create_function()` を置き換えるにはどうすればよいですか?
PHP 7.2 で create_function() が廃止される: 詳細
PHP 7.2 では、create_function() を通じて関数を動的に作成します。 ) 関数は非推奨になりました。これは、アプリケーションでこの機能に依存してきた開発者にとって課題となります。これに対処するために、最新の互換性のある代替手段を提供するソリューションを検討してみましょう。
次のコード スニペットを考えてみましょう。
$callbacks[$delimiter] = create_function( '$matches', "return '$delimiter' . strtolower($matches[1]);" );
ここで、create_function() は動的に提供された文字列に基づく関数。ただし、PHP 7.2 以降では、このアプローチは推奨されなくなりました。
代替案: 匿名関数 (クロージャ)
PHP 7.2 との互換性のためにコードを書き直すには、次のようにします。クロージャとも呼ばれる匿名関数を利用できます。クロージャは、コード内で定義して使用できる匿名関数です。親スコープから変数にアクセスできるため、当面のタスクに最適です。
次のコードは、クロージャを使用して元のスニペットを書き換える方法を示しています。
$callbacks[$delimiter] = function($matches) use ($delimiter) { return $delimiter . strtolower($matches[1]); };
Inこの Closure:
By匿名関数を使用すると、提供される機能を維持しながら、コードを PHP 7.2 以降にシームレスに移行できます。最新の PHP 標準に準拠しながら、create_function() を実行します。
以上がPHP 7.2 以降で非推奨となった PHP の `create_function()` を置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。