Я задавался вопросом, возможно ли или не передать функцию как параметр в PHP; я хочу что-то как то, когда Вы программируете в JS:
object.exampleMethod(function(){
// some stuff to execute
});
То, что я хочу, должно выполнить ту функцию где-нибудь в exampleMethod. Это возможно в PHP?
Это возможно, если вы используете PHP 5.3.0 или выше.
См. Анонимные функции в руководстве.
В вашем случае вы бы определили exampleMethod
следующим образом:
function exampleMethod($anonFunc) {
//execute anonymous function
$anonFunc();
}
Чтобы добавить к остальным, вы можете передать имя функции:
function someFunc($a)
{
echo $a;
}
function callFunc($name)
{
$name('funky!');
}
callFunc('someFunc');
Это будет работать в PHP4.
Вы также можете использовать create_function , чтобы создать функцию как переменную и передать ее. Хотя мне больше нравится ощущение анонимных функций . Иди зомбатом.