require,include,require_once,include_once的区别
最近面试时被问到,一时间还真没想到太多,仅仅回答了大概的几个,于是回来再确认一下。
以下内容为网络摘抄:
①作用及用法
可以减少代码的重复
include(_once)("文件的路径")与require(_once)("文件的路径")
②理解
说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行
③注意
include/require 包含进来的文件必须要加<?php ?>因为在包含时,首先理解文件内容是普通字符串,碰到<?php ?> 标签时,才去解释
④路径
可以用绝对路径,也可以用相对路径;windows下正反斜线都可以,linux下只认正斜线,所以最好用正斜线
⑤区别
include是包含的意思,找不到文件时,会报warning的错误,然后程序继续往下执行
require是必须的意思,找不到文件时,会报fatal error (致命错误),程序停止往下执行
无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
加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_once, 只能证明, 你对自己的代码没信心.”。
⑦特殊用法
利用include/require返回被包含页面的返回值
a.php页面中: ..... return $value; b.php页面中:$v = include("a.php");
<!--[endif]-->
require,include,require_once,include_once的区别的更多相关文章
- [转]require(),include(),require_once()和include_once()区别
require(),include(),require_once()和include_once()区别 面试中最容易提到的一个PHP的问题,我想和大家共勉一下: require()和include() ...
- 关于require,require_once,include和include_once的区别
一.定义 require,require_once,include,include_once都属于PHP的关键字,也就是说它们实际都是PHP的语句,而不是函数,类似于print,echo一样,也是PH ...
- 【转载】PHP中require(),include(),require_once()和include_once()区别
关于这方面的知识,这篇文章讲的较全: http://www.jb51.net/article/22467.htm require 的使用方法如 require("MyRequireFile. ...
- php require、require_once和include、include_once的区别
一.引入php文件路径的方法require '文件路径'; require ('文件路径');require_once '文件路径'; require_once ('文件路径');include 同 ...
- PHP中require(),include(),require_once()和include_once()有什么区别
引用文件的方法有两种:require 及 include.两种方式提供不同的使用弹性. require 的使用方法如 require("MyRequireFile.php"); . ...
- require(),include(),require_once()和include_once()之间的区别
引用文件的方法有两种:require 及 include. require 的使用方法如 require("file.php"); .这个函数通常放在 PHP 程序的最前面,PHP ...
- require include php5中最新区别,百度上好多错的。
二者报错机制不同,include是warning 继续执行程序,require会报致命错误,中断程序运行. 前者有返回值,后者则没有. 注意了,php5里有一个区别没了,之前说的是require是无条 ...
- PHP函数include include_once require和require_once的区别
了解下include.include_once.require和require_once这4个函数: include函数:会将指定的文件读入并且执行里面的程序: require函数:会将目标文件的内容 ...
- include,include_once,require,require_once的区别
1.include,require在其被调用的位置处包含一个文件. 2.include_once,require_once函数的作用与include相同,不过它会首先验证是否已包含该文件.如果已经包含 ...
随机推荐
- Leetcode Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...
- 20161003 NOIP 模拟赛 T2 解题报告
Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 ...
- JavaScript基础学习篇
1.alert消息弹出框 alert(字符串或变量); 消息对话框通常可以用于调试程序. 与document.write 相似. 2.确认:confirm消息对话框 confirm(弹出时要显示的文本 ...
- 'Could not load NIB in bundle: 'NSBundle xxx/storeFlix.app> ' with name 'UIViewController-w6Q-ra-j06' and directory 'StoreFlixIpad.storyboardc
1.此代码是从 git clone xxx 下载的. 2.使用 sourcetree 下载即可解决此问题.
- ELK_日志分析系统Logstash+ElasticSearch+Kibana4
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示客户端 ...
- tshark (wireshark)笔记
1. dumpcap -i eth0 -q -n -b duration:120 -b files:5000 -s65535 -f "! ip broadcast and ! ip mult ...
- 淘金客II项目问题日志(AngularJs+BootStrap+Api接口开发)
问题二: 组件,如果是modal框,那么show的时候,是不会load它的(因为load有时候是需要传送数据的),需要别的组件去主动load它.那么问题来了:哪些框直接show,哪些框不仅需要show ...
- IntelliSense: namespace "osgDB" 没有成员 "BEGIN_BRACKET"
IntelliSense: namespace "osgDB" 没有成员 "BEGIN_BRACKET" 转自:http://bbs.osgchina.org/ ...
- win7/IE8无法加载QCbin的插件
pian A: 1.控制面板->系统和安全->更改用户账户控制设置->安全等级调至最低->关机重启 2.打开IE浏览器->工具->Internet选项->高级 ...
- jq实现点击表格无刷新修改数据,优化版
<!-------------------修改密码-------------------------- > $("#pwd").live("click&quo ...