PHP包括在函数中

时间:2009-04-26 00:22:12

标签: php function include

我正在努力改变一个大的,有点写得不好(但不是非常如此)的PHP网站,以使用一个存储函数的类,这些函数可以编写带有参数的标准页眉来改变像文本一样的东西。标题。旧版本在每个文件中使用复制和粘贴的HTML标头,例如:

<div class="left"><?php include("left.php"); ?></div>

包含的文件包含非回显HTML和普通PHP。这些包括似乎可以继续使用,但我只是不确定它们将如何工作,据我所知,包含文件只是直接替换include()方法。

更好的是:
- 重新编写包含的文件以回显所有标准HTML
- 在适当的情况下,将这些文件的内容简单地移动到我的新功能中(据我所知,它们不会在任何地方使用,除非它们出现在我的新功能中) - 其他东西

感谢。

2 个答案:

答案 0 :(得分:4)

阅读http://php.net/include

  

如果include发生在调用文件中的函数内部,则调用文件中包含的所有代码都将表现为已在该函数内定义。因此,它将遵循该函数的可变范围。此规则的一个例外是魔术常量,在包含发生之前由解析器评估。

     

当包含文件时,解析将退出PHP模式并在目标文件的开头进入HTML模式,并在结束时再次恢复。因此,目标文件中应作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中。

PHP不只是复制并粘贴包含文件中的代码来替换include语句,就像C / C ++那样。因此,您不必担心所包含文件中的<?php?>标记会弄乱包含该文件的文件。

答案 1 :(得分:0)

如果你实际上没有解析任何变量,那么编写你的PHP来回显所有的HTML是有点低效的。也就是说,我似乎无法摆脱自己做的习惯。 :)

精心设计的页面将仅在必要时使用PHP,我认为您当前的包含方法可能是您网站的最佳方法。

如果您的网站的大部分内容突然变为动态生成,则可能值得重新审视此问题。

相关问题