2009-04-26 62 views
1

我正在努力改变一个大的,有点写得差(但不是非常如此),PHP网站使用一个类,它存储的功能,这样做的事情就像写标准页眉的参数改变的东西就像标题的文字一样。旧版本使用的复制和粘贴HTML头中的每个文件的东西,如:PHP包括函数

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

凡包含的文件既有非呼应HTML和普通的PHP。这些包括似乎可以继续使用,但我不知道它们是如何工作的,就我的知识而言,包含的文件只是直接替换include()方法。

难道会更好:
-Re写的包含文件呼应所有标准的HTML
-Simply这些文件的内容移动到我的新功能,在适当情况下(据我所知,他们没有使用任何地方除了他们将在我的新功能)
- 其他

谢谢。

回答

4

阅读http://php.net/include

如果include出现于调用文件中的一个函数里,那么所有包含在调用的文件的行为的代码,就好像它已经在该函数内部定义。所以,它将遵循该函数的变量范围。此规则的一个例外是魔法常量,在包含发生之前由解析器进行评估。

当包含文件时,解析会从目标文件的开始处退出PHP模式并进入HTML模式,并在结束时重新开始。因此,目标文件中应该作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中。

PHP不会复制和粘贴包含文件中的代码来替换include语句,就像C/C++一样。所以你不必担心被包含文件中的<?php?>标签搞乱了包含它的文件。

0

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

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

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