三文件是我们的朋友
无论你在开发的网站规模的大小都应该意识到代码重用的重要性无论这些代码是HTML还是PHP代码例如你必须至少每年改变一次包含版权信息的页脚如果你的网站含有个页面每年修改一次也是个很烦人的事儿
在PHP中至少有几个函数可以帮助你实现代码重用的目的所使用的函数取决于你所重用的代码主要的函数有
* include() and include_once()
* require() and require_once()
include()函数包含并对给定的文件进行计算例如
include(/home/me/myfile);
在include文件中的任何代码都在include()出现的代码范围内执行你可以通过联合使用include()和fopen()在自己的服务器上包含静态文件在另一台服务器上包含目标文件
include_once()的功能与include()相同二者之间的区别在于它会检查一个文件中的代码是否已经包含在现有的脚本中如果代码已经存在则不会再次包含它
require()函数用给定文件的内容取代它本身这一代替过程发生在PHP引擎编译代码期间而不是在执行期间进行它不象include()那样会首先进行计算require()函数更多地用在静态元素中而include()更多地用于动态元素中与include_once()类似的是require_once()将首先检查是否已经插入给定的代码如果代码已经存在就不再插入了
为也了解其内容在版权信息静态文字和其他不包含变量的元素或者依赖其他正在执行的脚本的元素中我更趋向于使用require函数例如
<HTML>
<HEAD><TITLE>Something</TITLE></HEAD>
<BODY>
[a lot of content]
<?
// insert copyright
require(/home/me/mycopyright);
?>
</BODY>
</HTML>
另一方面我经常在文件的开始使用include()来控制许多的函数
<?
//得到函数库
include(/home/me/myfunctions);
// do PHP things with my functions ?>
<HTML>
<HEAD><TITLE>Something</TITLE></HEAD>
<BODY>
[a lot of content]
</BODY>
</HTML>
下一个问题就该是include和require文件在哪里?对这个问题简单的回答是系统中的任意地方如果你的代码中包含有带有用户名和口令的数据库连接你肯定不会将它们都放在文档根目录中向所有的人都开放
included或required文件可以在系统上的任何地方只要PHP运行的系统上的用户可以访问这些文件即可你可以使这些文件具有任何后缀或者不使用后缀
使用include()和require()对在网站中的元素进行具体化是一种普遍的现象并在需要对网站升级时给你带来很大的方便