php文件包含的几种方式总结


Posted in PHP onSeptember 19, 2019

四种语句

PHP中有四个加载文件的语句:include、require、include_once、require_once。

基本语法

require:require函数一般放在PHP脚本的最前面,PHP执行前就会先读入require指定引入的文件,包含并尝试执行引入的脚本文件。require的工作方式是提高PHP的执行效率,当它在同一个网页中解释过一次后,第二次便不会解释。但同样的,正因为它不会重复解释引入文件,所以当PHP中使用循环或条件语句来引入文件时,需要用到include。

include:可以放在PHP脚本的任意位置,一般放在流程控制的处理部分中。当PHP脚本执行到include指定引入的文件时,才将它包含并尝试执行。这种方式可以把程序执行时的流程进行简单化。当第二次遇到相同文件时,PHP还是会重新解释一次,include相对于require的执行效率下降很多,同时在引入文件中包含用户自定义函数时,PHP在解释过程中会发生函数重复定义问题。

require_once / include_once:分别与require / include作用相同,不同的是他们在执行到时会先检查目标内容是不是在之前已经导入过,如果导入过了,那么便不会再次重复引入其同样的内容。

相互区别

include和require:

include有返回值,而require没有返回值。

include在加载文件失败时,会生成一个警告(E_WARNING),在错误发生后脚本继续执行。所以include用在希望继续执行并向用户输出结果时。

//test1.php

<?php

include './tsest.php';

echo 'this is test1';

?>

 

//test2.php

<?php

echo 'this is test2\n';

function test() {

 echo 'this is test\n';

}

?>

 

//结果:

this is test1

require在加载失败时会生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本停止执行。一般用在后续代码依赖于载入的文件的时候。

//test1.php

<?php

require './tsest.php';

echo 'this is test1';

?>

 

//test2.php

<?php

echo 'this is test2\n';

function test() {

 echo 'this is test\n';

}

?>

结果:

php文件包含的几种方式总结

include和include_once:

include载入的文件不会判断是否重复,只要有include语句,就会载入一次(即使可能出现重复载入)。而include_once载入文件时会有内部判断机制判断前面代码是否已经载入过。这里需要注意的是include_once是根据前面有无引入相同路径的文件为判断的,而不是根据文件中的内容(即两个待引入的文件内容相同,使用include_once还是会引入两个)。

//test1.php

<?php

include './test2.php';

echo 'this is test1';

include './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1this is test2

 

 

//test1.php

<?php

include './test2.php';

echo 'this is test1';

include_once './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1

 

 

//test1.php

<?php

include_once './test2.php';

echo 'this is test1';

include './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1this is test2

 

 

//test1.php

<?php

include_once './test2.php';

echo 'this is test1';

include_once './test2.php';

?>

 

//test2.php

<?php

echo 'this is test2';

?>

 

//结果:

this is test2this is test1

require和require_once:同include和include_once的区别相同。

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

PHP 相关文章推荐
在Windows版的PHP中使用ADO
Oct 09 PHP
php 读取文件乱码问题
Feb 20 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
php 中奖概率算法实现代码
Jan 25 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 PHP
smarty模板的使用方法实例分析
Sep 18 #PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 #PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 #PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 #PHP
PHP实现批量修改文件名的方法示例
Sep 18 #PHP
php DES加密算法实例分析
Sep 18 #PHP
php实现QQ小程序发送模板消息功能
Sep 18 #PHP
You might like
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
与数据库连接
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
详解redux异步操作实践
2018/08/15 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
python妙用之编码的转换详解
2017/04/21 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
init进程的作用
2012/04/12 面试题
大型营销活动计划书
2014/04/28 职场文书
毕业生工作求职信
2014/06/30 职场文书
先进个人评语大全
2015/01/04 职场文书