深入掌握include_once与require_once的区别


Posted in PHP onJune 17, 2013

①作用及用法

可以减少代码的重复

include(_once)("文件的路径")与require(_once)("文件的路径")

②理解

说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行

③注意

include/require 包含进来的文件必须要加<?php ?>因为在包含时,首先理解文件内容是普通字符串,碰到<?php ?> 标签时,才去解释

④路径

可以用绝对路径,也可以用相对路径;windows下正反斜线都可以,linux下只认正斜线,所以最好用正斜线

⑤区别

include是包含的意思,找不到文件时,会报warning的错误,然后程序继续往下执行

require是必须的意思,找不到文件时,会报fatal error (致命错误),程序停止往下执行

加once后,系统会进行判断,如果已经包含,则不会再包含第二次

eg:有一个a.php文件 内容是<?php $a++ ;?>

在b.php文件中的内容是 $a=5; require_once("a.php"); echo $a; require_once("a.php"); echo $a;

结果第一处输出的是6, 第二处输出的还是6,说明。。_once只包含一次 ,如果不加once,则第二处输出的会是7

⑥取舍

比如是系统配置,缺少了,网站不让运行,自然用require,如果是某一段统计程序,少了,对网站只是少统计人数罢了,不是必须要的,可以用include

而加不加once是效率上的区别,加上once,虽然系统帮你考虑了只加载一次,但系统的判断会是效率降低,因此,更应该在开发之初,就把目录结构调整好,尽量不要用_once的情况。

⑦特殊用法

利用include/require返回被包含页面的返回值

a.php页面中: ..... return $value; b.php页面中:$v = include("a.php");
<!--[endif]-->

这个用法在做网站配置的时候会偶尔碰到!

PHP 相关文章推荐
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
php调整服务器时间的方法
Apr 03 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
再推荐十款免费的php开发工具
Nov 09 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
PHP如何使用Memcached
Apr 05 PHP
php获取linux命令结果的实例
Mar 13 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
php抓取页面的几种方法详解
Jun 17 #PHP
深入PHP magic quotes的详解
Jun 17 #PHP
php错误级别的设置方法
Jun 17 #PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 #PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 #PHP
php fsockopen伪造post与get方法的详解
Jun 14 #PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 #PHP
You might like
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
php实现websocket实时消息推送
2018/03/30 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
简述JS控制台的使用
2018/07/15 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
Python模块文件结构代码详解
2018/02/03 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
小学教师节活动方案
2014/01/31 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
亲子读书活动方案
2014/02/22 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android