Передавать в функцию PHP содержимое, а не переменные - PullRequest
0 голосов
/ 07 мая 2020

Можно ли передать содержимое, которое не является переменным, в функцию PHP, такую ​​как al oop или аналогичную конструкцию, которая будет выполняться в другой функции.

Вот версия php как это можно сделать в javascript.

function myFunction($content){

    // something important that needs to be done before content

    $content

    // something important that needs to be done after content

}

myFunction({

    foreach($things_we_have as $key => $val){
        // Things to do in centre of the function
    }

});

Очевидно, что это не работает. Можно ли это сделать, и если да, то как?

1 Ответ

1 голос
/ 07 мая 2020

Вы можете использовать Closures / анонимные функции в качестве параметра функции.

Пример:

function myFunction($closure)
{

    // something important that needs to be done before content

    $closure($thingsWeHave);

    // something important that needs to be done after content

}

myFunction(function($thingsWeHave)
{
    foreach($thingsWeHave as $key => $val){
        // Things to do in center of the function
    }
});

Другие примеры: здесь и здесь

...