0

我正在使用 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 已经有一段时间了,以前从未见过类似的东西。可以使用吗?

4

0 回答 0