嵌套 PHP(实现主页面和内容页面)

Nesting PHP (to implement master & content pages)

在这里我以为我很聪明。使用 PHP,我创建了一个母版页,master.php,它注入了一系列内容页面之一:content1.phpcontent2.php 等。我没有想到我希望能够在内容页面中使用 PHP。

大师注入内容是这样的:

<?php
if($pageContentHtml != '') {
    echo $pageContentHtml;
}
?>  

当然,当 $pageContentHtml 包含任何 <?php ?> 块时,页面不会按预期呈现。

我读到了有关使用 PHP 的 ob_* 函数来缓冲输出的信息,但我不太清楚这是否能让我做我想做的事。会吗?这可能吗?

示例 content.php 文件:

<div class="row">
<div class="row-centered">
    <div class="col-md-12">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque...</p>
    </div>
</div>
</div>

<div class="row">
<div class="row-centered">
    <div class="col-md-12">

        <?php
            $bookFileNames = array(
                "book-cover1.jpg"
                ,"book-cover2.jpg"
                ,"book-cover3.jpg"
                ,"book-cover4.jpg"
                .
                .
                .
            );

            for($i=0; $i<count($bookFileNames); ++i) {
                echo '<a href="/images/books/' . $bookFileNames[$i] . '" class="book-title" data-toggle="lightbox" data-gallery="book-covers"><img src="/images/books/' . $bookFileNames[$i] . '" class="img-fluid"></a>';
            }
        ?>

    </div>
</div>
</div>

您可以使用 include()require() 来包含内容页面,而不是读入它们的内容。包含时,PHP 将被正常处理:

include('content1.php');