1

定義済みのクロージャーのセットを構築するクラスがあります。これまでのところは良いですが、作成関数に与える特定のパラメーターに従ってクロージャーを作成したいと思います。

たとえば、日付フォーマッタ。呼び出し元は、クロージャー内で使用する必要がある形式を (パラメーターとして) 指定できます。返されたクロージャー内で $format をグローバルにしようとしましたが、残念ながらそれは役に立ちませんでした..

コードは言葉よりも 100 倍わかりやすいので、以下に例を示します。

class ClosureCreate {
    public static function getDateFormatter( $format ){
         return function( $value ){
              return date( $format, strtotime( $value ) );
          };
    } 
}

getDateFormatter が、$format (getDateFormatter のパラメーター) で指定された $format に従って、(クロージャーに与えられた) 指定された $value をフォーマットするクロージャーを返すようにします。

これはPHPで可能ですか、それとも私はそれを求めているだけですか?

4

0 に答える 0