php中字符串函数实例化,在HEREDOC字符串中调用PHP函数

在PHP中,HEREDOC字符串声明对于输出html块确实非常有用。您可以通过在变量前面加上$来解析变量,但是对于更复杂的语法(例如$ var [2] [3]),则必须将表达式放在{}中。

在PHP 5中,这是可能实际上使函数调用中的{}一HEREDOC字符串中括号,但你必须要经过一些工作。函数名称本身必须存储在变量中,并且必须像动态命名函数一样调用它。例如:

$fn = 'testfunction';

function testfunction() { return 'ok'; }

$string = <<< heredoc

plain text and now a function: {$fn()}

heredoc;

如您所见,这不仅比以下情况更混乱:

$string = <<< heredoc

plain text and now a function: {testfunction()}

heredoc;

除了第一个代码示例外,还有其他方法,例如突破HEREDOC来调用该函数,或反转问题并执行类似的操作:

?>

plain text and now a function: <?PHP print testfunction(); ?>

后者的缺点是将输出直接放入输出流中(除非我使用输出缓冲),这可能不是我想要的。

因此,我的问题的实质是:有没有更优雅的方法来解决这个问题?

根据响应进行编辑:当然,某种模板引擎确实会使我的生活变得更轻松,但是这基本上需要我反转惯用的PHP样式。并不是说那是一件坏事,但这可以解释我的惯性。尽管我想尽办法使生活变得更轻松,所以我现在正在研究模板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值