当前位置: 首页 > news >正文

PHP中的include功能

1、include和require区别

当要包含的文件不存在时,include产生一个警告(Warning),该语句后面的程序会继续执行;而 require则导致一个致命错误(Fatal error),程序就此终止。

2、路径问题(适用于include和require)

+c.php
+folder1
+----a.php
+----folder2
+--------b.php

a.php
    include 'folder2/b.php';
b.php
    include 'c.php';

执行a.php过程

  1. 包含"b.php",并执行"b.php"
  2. 在folder1(当前工作目录,"a.php"所在目录下)下查找"c.php",查找不到则执行下一步
  3. 在folder2(当前文件目录,"b.php"所在目录下)下查找"c.php"。

无论是"a.php",还是"b.php",若include路径中含有"../",则都在当前工作目录(folder1,"a.php"所在目录)的上级目录中查找

3、变量作用域

  1. 一个文件被包含时,所包含的代码继承了“include”所在行的变量范围,该行处可用的任何变量在被包含的文件中都可用。主要针对于函数中的include。
  2. 所有在包含文件中定义的函数和类都具有全局作用域,和变量不同。普通变量的变量作用于继承了“include”所在行的变量范围,例如函数中的include。

4、include_path

set_include_path(       
    get_include_path()
    . PATH_SEPARATOR . './library' 
    . PATH_SEPARATOR . './application/models'
); 

默认的include_path=".;C:\xampp\php\PEAR",使用set_include_path设置后,(不论文件的包含层级怎样)后续的所有程序都会使用该值,该函数可多次调用。

相关文章:

  • 多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄
  • ffdshow 源代码分析1 : 整体结构
  • 关于一道面试题,使用C#实现字符串反转算法
  • 开源科学计算语言Fortress
  • java范型简介
  • 敏捷软件开发实践-Sprint Retrospective Meeting(转)
  • WebSocket桌面客户端工具
  • docker与虚拟机性能比较
  • 匿名方法实现多线程同步到主线程执行
  • 又无题
  • 关于数据库自我描述功能的构思
  • POJ 3648 Wedding(2-ST)
  • topcoder srm 460 div1
  • ssh-agent
  • 手机app有了短信验证码还有没必要有图片验证码?
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Android优雅地处理按钮重复点击
  • EOS是什么
  • es的写入过程
  • Flannel解读
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Mac转Windows的拯救指南
  • node-glob通配符
  • 从零搭建Koa2 Server
  • 力扣(LeetCode)56
  • 深度学习中的信息论知识详解
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序实战练习(仿五洲到家微信版)
  • 原生 js 实现移动端 Touch 滑动反弹
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​决定德拉瓦州地区版图的关键历史事件
  • $ git push -u origin master 推送到远程库出错
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (三) diretfbrc详解
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (算法)Game
  • (转)VC++中ondraw在什么时候调用的
  • (转载)利用webkit抓取动态网页和链接
  • .NET CLR基本术语
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .Net 代码性能 - (1)
  • .net 微服务 服务保护 自动重试 Polly
  • .NET简谈设计模式之(单件模式)
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @Bean, @Component, @Configuration简析