0

著者が次のようなものを使用したWordPressチュートリアルを読んでいました(単純化しました):

class WPObject {
    public $ID;
    public $title;
    public $content;
    public $status;

    public function __construct($wp_post) {
       $modifiers = [ 
           'key' => function($k, $v) { 
               return (substr($k, 0, 5) === "post_") ? substr($k, 5) : $k;
           }
       ];
    }
}

この関数はpost_、wp クエリ対象オブジェクトからプレフィックスを削除することになっています。私が持っている質問は、私が上に投稿した機能に関するものです。その匿名関数は、プロパティを持つオブジェクトを返すようです。それに print_r を実行すると...

Array
(
    [key] => Closure Object
        (
            [this] => WPObject Object
                (
                    [ID] => 
                    [title] => 
                    [content] => 
                    [status] => 
                )

            [parameter] => Array
                (
                    [$k] => 
                    [$v] => 
                )
        )
)

私はまだ匿名関数について学んでいますが、どのように/なぜこれを行うのか疑問に思っていましたか? オブジェクトから無名関数を呼び出した場合、そのオブジェクトのインスタンスまたは何かが作成されますか?

また、間違った用語を使用していたら申し訳ありません。匿名関数、クロージャー、ラムダ関数をまだ整理しないでください。

4

1 に答える 1