PHP脚本的10个技巧(3)


Posted in PHP onOctober 09, 2006

包含文件
如果你目前着手的Web站点开发项目规模较大,那你对代码重用必定深有体会,比方说,不管是HTML还是PHP代码块,只要项目足够大,比如有1000个Web页,你即便是一年只修改一次包含版权信息的页脚也会让你痛不欲生。

而PHP可以通过一些函数帮助你重用代码,你要具体用到的函数依赖于你打算重用的内容。

主要的函数是:

* include() 和 include_once()
* require() 和require_once()

include()函数包含给定的文件,比如:

include('/home/me/myfile');

包含文件中的任何代码都将在include() 所在的代码页的变量范围之内执行。你可以包含服务器上的静态文件或者包含在其他服务器上的目标文件,方法是组合使用include()和fopen()。

include_once()函数和include()函数功能类似,只是该函数会检查被包含文件内的代码是否已经被目前的脚本所包含过。如果代码已经被脚本所包含,该函数就不再包含相应的文件了。

require()函数用给定文件的内容取代自身。这一替换过程发生在PHP引擎编译你的代码而不是执行代码阶段,这可和include()不一样,后者首先被计算再加到文挡中。require()函数多用于静态元素,而include()函数则主要用于动态元素。和include_once()类似,require_once()函数会检查给定代码是否早已经插入到了文挡内,如果这样,给定代码就不会被再次插入文档。

我建议你最好对诸如版权、静态文本和其他不含变量的元素这类信息采用require函数,那些依赖其他脚本来实现自己内容的元素也最好采用require函数,例如:

<HTML>
<HEAD><TITLE>Something</TITLE></HEAD>
<BODY>
[a lot of content]

<?
// insert copyright
require('/home/me/mycopyright');
?>

</BODY>
</HTML>

另一方面,我经常用include()函数把函数库或类似的内容放到脚本之外:

<?
// get my function library
include('/home/me/myfunctions');

// do PHP things with my functions ?>

<HTML>
<HEAD><TITLE>Something</TITLE></HEAD>
<BODY>
[a lot of content]
</BODY>
</HTML>

你肯定会问:“那么,被included或者被required的文件都来自哪里呢?”答案很简单:“你的系统。”不过,有时,有些代码会包含了诸如带有用户名和密码的数据库连接函数之类的安全信息,在这样的情况下,显而易见,你肯定不希望这些东西也成为文档的一部分弄得全世界都知道。

你可以把包含文件(included或者required)放在系统的任何地方,只要用户所能用到的PHP可以访问这些文件即可。你还可以给这些文件以任何你希望给出的文件扩展名,或者不设扩展名。

使用include()和require()函数可以让Web站点上普遍存在或者经常变动的元素变得更加容易处理。

PHP 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
php时间戳转换的示例
Mar 31 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
实例解析php的数据类型
Oct 24 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
php字符串函数 str类常见用法示例
May 15 PHP
社区(php&amp;&amp;mysql)六
Oct 09 #PHP
判“新”函数:得到今天与明天的秒数
Oct 09 #PHP
社区(php&amp;&amp;mysql)五
Oct 09 #PHP
社区(php&amp;&amp;mysql)四
Oct 09 #PHP
社区(php&amp;&amp;mysql)三
Oct 09 #PHP
利用php来自动调用不同服务器上的flash
Oct 09 #PHP
如何做到多笔资料的同步
Oct 09 #PHP
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
php创建多级目录代码
2008/06/05 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php把session写入数据库示例
2014/02/26 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
python冒泡排序简单实现方法
2015/07/09 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
python命令 -u参数用法解析
2019/10/24 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
什么是GWT的Module
2013/01/20 面试题
中专自荐信
2013/10/13 职场文书
爱心活动计划书
2014/04/26 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
法人授权委托书样本
2014/09/19 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
退休欢送会主持词
2015/07/01 职场文书
初中思品教学反思
2016/02/20 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
java实现对Hadoop的操作
2021/07/01 Java/Android