【发布时间】:2012-05-28 16:44:22
【问题描述】:
我有一个 php 文件 (article.php),其中包含保存内容的变量和一个包含对保存 html 结构的模板的引用 (template.php)。
<?php
$headline = 'Headline';
$author = 'Author';
$paragraph = 'Text';
include 'template.php';
?>
这是上面提到的template.php。它包括 blockTemplate.php。 (更多内容,见下文。):
<html>
<body>
<?php include 'blockTemplate.php'; ?>
</body>
</html>
这是 blockTemplate.php。它有变量,我想在 article1.php 中提供的值,(顶级文件):
<h1>Title: <?php $headline ?></h1>
<h2>Author: <?php $author ?></h2>
<p>Text: <?php $paragraph ?></p>
这是我应该从 article1.php 得到的输出:
标题:标题
作者:作者
文字:文字
这是我得到的输出。请注意没有包含变量:
标题:
作者
文字:
问题:如何将 article1.php 中的值传递给包含的 blockTemplate.php 中的变量? 被包含的文件在包含之前正在处理中发生了什么,因此到它们时不包含任何变量包括吗?
【问题讨论】:
-
您发布的代码运行良好。
-
代码看起来不错,打开你的错误报告,看看其他地方是否出了问题。
-
包含的文件被放置在包含指令所在位置的变量范围内 - 就好像包含文件的内容已被直接复制/粘贴到该位置。
-
您是否尝试包含后来包含 blockTemplate.php 的 template.php?
-
这是渲染html文件的正确方式。一个小建议;只使用关联数组;通过 print_r 让您的用户/设计师知道他们拥有什么
标签: php variables include scope