gpt4 book ai didi

php 回调(如 jQuery)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:05 24 4
gpt4 key购买 nike

在 jQuery 中你可以这样写


$(selector).bind('click', function(e) {
// something was true - do these actions.
});


我想知道在 php 中你是否可以在不使用 eval 的情况下做类似的事情。

是这样的吗?顺便说一句,我知道这行不通。


class act{
public function bind($pref, $callback) {

if($pref == 'something' ) {
// return and perform actions in $callback?
eval($callback);
}
}
}

有些人可能会问这有什么必要?好吧,我正在努力简化我的代码,而不使用那么多 if 语句。


$act = new act;

$act->bind('something', function(e) {
echo 'this was the php code to run in the callback';
});

上面的代码将避免使用一堆 if 语句。


$act = new act;

if( $act->bind('something') ) {
// bind returned true so do this?
}

我知道您可以使用 ob_get_contents 返回评估代码,但是 ewww。


ob_start();
eval('?> ' . $callback . '<?php ');
$evaled = ob_get_contents();
ob_end_clean();

return $evaled;

最佳答案

您确实可以在 PHP 中定义回调函数(或方法)

这可以通过以下任一方式实现:


有关几个示例,请查看以下手册页的 回调 部分:Pseudo-types and variables used in this documentation

关于php 回调(如 jQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com