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 相关文章推荐
简单的过滤字符串中的HTML标记
Dec 25 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
php中apc缓存使用示例
Dec 25 PHP
php解析json数据实例
Aug 19 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
Laravel等框架模型关联的可用性浅析
Dec 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
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
JavaScript日历实现代码
2010/09/12 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
如何编写jquery插件
2017/03/29 jQuery
Vue如何引入远程JS文件
2017/04/20 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
python 运算符 供重载参考
2009/06/11 Python
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
护理专业毕业生自荐书
2014/05/24 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
业务员岗位职责范本
2015/04/03 职场文书
家庭贫困证明
2015/06/16 职场文书
运动会宣传稿100字
2015/07/23 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
python APScheduler执行定时任务介绍
2022/04/19 Python