过PHP,你可以使用不同函数帮助你重用代码。具体用到的函数取决于你打算重用的内容。

主函数如下:

* include() and include_once()

* require() and 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]

<?

//插入版权信息

require('/home/me/mycopyright');

?>

</BODY>

</HTML> 
另一方面,常使用include(2881064151)函数把函数库或类似库放到脚本之外:

<?

//获取我的函数库

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

// 使用我的函数执行PHP程序?>

<HTML>

<HEAD><TITLE>Something</TITLE></HEAD>

<BODY>

[a lot of content]

</BODY>

</HTML>

下一个自然而然的问题是:“被included或者被required的文件都来自哪里呢?”简单回答是:“你的系统。”不过,仅仅是一些代码片段有时会包含了诸如含确定用户名和密码的数据库连接之类的安全信息。显然你不希望这些东西也成为文档的一部分而被公之于众。

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

使用include()和require()函数可以让Web站点上普遍存在或者经常变动的元素具体化。而通过这一方式也会当需要升级时使系统体系结构更易于处理。

被included或者被required的文件都来自哪里呢的更多相关文章

  1. 查看tomcat启动文件都干点啥---catalina.bat

    在上一次查看tomcat启动文件都干点啥一文中,我们总结出,startup.bat文件的作用就是找到catalina.bat文件,然后把参数传递给它,在startup.bat中,调用catalina. ...

  2. 查看tomcat启动文件都干点啥---catalina.bat(转)

    在上一次查看tomcat启动文件都干点啥一文中,我们总结出,startup.bat文件的作用就是找到catalina.bat文件,然后把参数传递给它,在startup.bat中,调用catalina. ...

  3. 查看tomcat启动文件都干点啥

    以下所写的都是基于Windows 操作系统,tomcat7.0版本.一直在使用tomcat但是老实说对于tomcat本身并没有一个系统的掌握,今天饶有兴致的随便看了看,做了一点笔记,写一点心得,我本人 ...

  4. 查看tomcat启动文件都干点啥---Bootstrap.java

    在上一章查看tomcat启动文件都干点啥---catalina.bat,说了在catalina.bat中都走了什么流程,最重要的是,我们得出了如下这段命令: _EXECJAVA=start " ...

  5. 当IIS挂的网站出现选 图片文件, 静态文件都打不开时, 可以试试新建一个应用程序池试试看...

    当IIS挂的网站出现选 图片文件, 静态文件都打不开时, 可以试试新建一个应用程序池试试看...

  6. 关于IDEA每次修改HTML,Css等静态资源文件都需要重启的设置修改

    ~ ~ ~ ~ ~ 关于IDEA每次修改HTML,Css等静态资源文件都需要重启的设置修改 最近开始使用IDEA进行项目开发,但是对于每次修改HTML文件中css和js文件之后都必须重启服务这件事表示 ...

  7. stdafx.h、stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编

    sstdafx.h.stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要 ...

  8. javaSE中的输入输出流---一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号

    <span style="font-size:18px;">package com.io.other.split; import java.io.File; impor ...

  9. IDEA错误的将所有代码文件都加入版本控制

    1.问题: IDEA将从Git上拉取的所有代码文件都加入版本控制里,而这些文件和远程服务器没有任何区别: 2.原因: 后来发现,虽然项目使用的是Git的版本控制,但是异常模块都是使用SVN的版本控制: ...

随机推荐

  1. oracle创建HR示例数据库脚本hr_main.sql分享

    需求描述: 今天一同事想要在测试库上进行SQL练习,帮忙安装下这个示例数据库,在此记录下. 操作过程: 1.上传hr_main.sql脚本(10g 11g都可用) 脚本下载链接: https://pa ...

  2. mysql操作类

    同事今天推荐了一个mysql链接操作的类,地址 https://github.com/joshcam/PHP-MySQLi-Database-Class  大概看了一下,还是不错的,有点意思,先记录一 ...

  3. C++ 枚举转字符串

    用#宏,见代码 #include <iostream> #define enum_to_string(x) #x enum sex { boy, girl, }; int main() { ...

  4. Linux 集群架构

    集群介绍 Keepalived 配置高可用集群

  5. map 集合的遍历

    List<Map<String,Object>> autoReplyList= wechatService.queryAutoReplyByOrg(orgId); for(Ma ...

  6. log4net日志的简单配置

    说起来log4net,我一直都知道这个的存在,但实际在项目中还真是没有去自己写过的那,这一次我在项目完成后并没有着急下一个项目的开始,于是突然想起来是否添加一个日志的编写,于是开始了log4net的总 ...

  7. 嵌入式系统C编程之堆栈回溯(二)

    前言 本文作为<嵌入式系统C编程之堆栈回溯>的补充版.文中涉及的代码运行环境如下: 一  异常信号 信号就是软件中断,用于向正在运行的程序(进程)发送有关异步事件发生的信息.Linux应用 ...

  8. C语言预处理命令详解

    一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

  9. jTemplates

    jTemplates是一个基于JQuery的模板引擎插件,功能强大,有了他你就再不用为使用JS绑定数据集时发愁了. 首先送上jTtemplates的官网地址:http://jtemplates.tpy ...

  10. pace.js简介

    Pace.js – 超赞的页面加载进度自动指示和 Ajax 导航效果 在页面中引入 Pace.js 和您所选择主题的 CSS 文件,就可以让你的页面拥有漂亮的加载进度和 Ajax 导航效果.不需要挂接 ...