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 23 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 PHP
php + WebUploader实现图片批量上传功能
May 06 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实现的在线人员函数库
2008/04/09 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
对比分析json及XML
2014/11/28 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
Python多线程学习资料
2012/12/19 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
python实现kNN算法
2017/12/20 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
python如何支持并发方法详解
2020/07/25 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
python里glob模块知识点总结
2021/01/05 Python
植物选择:Botanic Choice
2017/02/15 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
工作室成员个人发展规划范文
2014/01/24 职场文书
2014年高考决心书
2014/03/11 职场文书
理财投资建议书
2014/03/12 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB