WordPress 中一行代码即可控制函数的输出并存到变量中

假设我们有个函数 echo_something,从名字即可知道,这个函数通过 echo 输出一些东西,如果这时候,我们希望不要输出,而是将结果存到某个变量中,程序后面可能需要处理再输出,这时候我们就要使用到 PHP 的输出缓存控制,这个也非常简单,一般来说是这样处理的:

ob_start();

echo_something();

$var = ob_get_clean();

这样做没什么问题,PHP 的输出缓存控制就是这么简单,但是如果下次我们又有一个函数 echo_otherthing,然后又要通过输出缓存控制来处理,有点麻烦,所以我写了一个高阶函数,只要传递函数名和参数,程序就会自动获取输出的值:

function wpjam_ob_get_contents($callback, ...$args){
ob_start();

call_user_func_array($callback, $args);

return ob_get_clean();
}

调用的时候也非常简单,将函数出名传递给 wpjam_ob_get_contents 即可:

wpjam_ob_get_contents('echo_something');

如果有参数:

wpjam_ob_get_contents('echo_something', $arg1, $args2...);


点击卡片关注「WordPress果酱」
每天分享 WordPress 使用技巧

⏬⏬ 下载 WPJAM Basic 请点击阅读原文

相关文章

暂无评论

暂无评论...