【发布时间】:2015-01-20 19:58:37
【问题描述】:
我正在尝试根据某些选项在页面上显示不同的内容。
另外,我试图避免对所有 html 输出使用 php echo。
我偶然想到了以下解决方案,现在我对它的实际工作原理感到困惑。
test.php
<?php
function get_content() {
$page = 0;
if($page == 0)
include('page0.php');
else
include('page1.php');
}
?>
<html>
<body>
<?php echo get_content() ?>
</body>
</html>
page0.php
<?php
$link = "http://www.google.ca";
$name = "GOOGLE";
?>
<a href="<?= $link ?>"> <?= $name ?> </a>
page1.php
<?php
$link = "http://www.yahoo.ca";
$name = "YAHOO";
?>
<a href="<?= $link ?>"> <?= $name ?> </a>
似乎 php 解释器在到达下一行时最终会将 html 标记包含到 <?php ?> 块中,但不知何故,这段代码有效,并且输出的 html 是有效的。
include('page0.php');
有人能解释一下这里到底发生了什么吗?
【问题讨论】:
-
另一个线索.. 在以下问题中,接受的答案包括 html 文件直接进入 php 块:programmers.stackexchange.com/questions/180501/…
-
对于任何感兴趣的人来说,php 也有一些叫做“这里的文档”的东西。教程可以在这里找到:jungels.net/articles/php-templates.html