嵌套 PHP(实现主页面和内容页面)
Nesting PHP (to implement master & content pages)
在这里我以为我很聪明。使用 PHP,我创建了一个母版页,master.php
,它注入了一系列内容页面之一:content1.php
、content2.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');
在这里我以为我很聪明。使用 PHP,我创建了一个母版页,master.php
,它注入了一系列内容页面之一:content1.php
、content2.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');