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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
一篇入门的php Class 文章
Apr 04 PHP
php session安全问题分析
Jun 24 PHP
PHP安全防范技巧分享
Nov 03 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
深入php之规范编程命名小结
May 15 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
php include和require的区别深入解析
Jun 17 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
php模拟post上传图片实现代码
Jun 24 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Python中取整的几种方法小结
2017/01/06 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python getpass实现密文实例详解
2019/09/24 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
大型活动组织方案
2014/05/10 职场文书
工作收入证明模板
2015/06/12 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python
golang语言指针操作
2022/04/14 Golang