我正在使用Kirby CMS,我想创建一个可重用的代码段,在动态内容之前和之后输出静态内容。我对Heredoc和输出缓冲区很熟悉,但是我认为它们不太适合我的用例。
我有以下内容。
摘要文件test.php:
<span>some markup</span>
<?php $content() ?>
<span>end markup</span>
主文件(包括代码段):
<?php
$title = 'foobar';
?>
<?php snippet('test', ['content' => function () use ($title) { ?>
<p>some very <?= $title ?> content</p>
<?php }]) ?>
对于不熟悉Kirby的用户,snippet()
函数仅包含指定片段片段中的文件,并将一些数据传递给该文件。在这种情况下,我传递了一个匿名函数,该函数在代码段中可用作content
变量。
我得到以下输出,没有错误或警告:
<span>some markup</span>
<p>some very foobar content</p>
<span>end markup</span>
所以我的代码可以按预期工作,并且可以实现我想要的功能。 我的问题是-这是在生产中使用的好主意吗?有一些隐藏的警告吗?我使用PHP已经有一段时间了,之前我还没有看到过类似的东西。可以使用吗?