php5.3では匿名関数の導入だけでなく、より良い新機能も追加されていますPHP匿名関数と注意点、具体的な内容を見ていきましょう。内容は以下の通り
PHP5.2以前: 自動ロード、PDO、MySQLi、型制約
PHP5.2: JSON サポート
PHP5.3: 非推奨の機能、匿名関数、新しいマジックメソッド、名前空間、後期静的バインディング、Heredoc と Nowdoc、const、三項演算子、Phar
PHP5.4: 短いオープンタグ、配列の省略形、特性、組み込みWebサーバー、詳細が変更されました
PHP5.5: yield、foreachにlist()が使用され、詳細が変更されました
PHP5.6: 定数の強化、可変関数パラメータ、名前空間の強化
現在では基本的にPHP5.3以降のバージョンが使われていますが、長い年月が経っても多くの新機能が十分に普及せず、プロジェクトでほとんど使われないのが共通した現象だと感じています。
PHP 匿名関数を見てください:
リーリーPHP 匿名関数の定義は非常に単純で、変数に値を代入することですが、この値は関数です。
上記はYiiフレームワークを使用して設定されたコンポーネントファイルであり、テスト設定が追加されています。
PHP 匿名関数とは何ですか?
公式の説明を参照:
匿名関数 (クロージャーとも呼ばれます) を使用すると、指定された名前なしで関数を一時的に作成できます。コールバック関数の引数として最も一般的に使用される値。もちろん、他のアプリケーションもあります。
匿名関数の例
リーリークロージャ関数は変数の値としても使用できます。 PHP は、この式を組み込みクラス Closure のオブジェクト インスタンスに自動的に変換します。クロージャオブジェクトを変数に代入する方法は通常の変数代入の構文と同じで、最後にセミコロンも追加されます:
匿名関数の変数代入例
リーリークロージャは親スコープから変数を継承できます。 このような変数は、use language 構造を使用して渡す必要があります。
親スコープから変数を継承する
リーリーphpの匿名関数に関する注意事項
php5.3以降、phpに匿名関数の使用が追加されました。現在、匿名関数を使用するとエラーが発生します。詳細はコードを参照してください。 リーリー
aa;として出力されます
以下の例を見てください:リーリー
この時点でエラーが報告されました。 $callback は宣言されていませんが、PHP 自体で宣言された関数を使用してもエラーは報告されません。リーリー
これらの両方を印刷します;匿名関数を使用する場合、匿名関数は変数として使用されるため、事前に宣言する必要があります。これは js でも同様です。 ! ! ! !
以上、PHPの匿名関数と注意事項を紹介しましたが、学習の参考になれば幸いです。
興味がありそうな記事: