【PHP】文件包含-includerequire

文章目录

  • 文件包含
    • 意义:
    • 四种形式
    • 文件加载原理
    • include和require的区别
    • 文件的加载路径
    • 文件嵌套包含

文件包含

文件包含:在一个PHP脚本中,去将另外一个文件(PHP)包含进来,去合作完成一件事情。

意义:

1.要么使用被包含文件中的内容,实现代码的共享(重用):向上包含(索要)

  • 向上包含:在当前脚本要用某个代码之前包含别的文件

2.要么自己有东西可以给别的文件使用,实现代码的共享(重用):向下包含(给予)

  • 向下包含:在自己有某个东西的时候,需要别的脚本来显示(自己代码写完之后包含其他文件)

最大的作用:分工协作,每个脚本做的事情不一样,因此可以使用协作方式,让多个脚本共同完成一件事情。

四种形式

在PHP中文件的包含有四种形式(两种大形式):

  • include:包含文件
  • include_once:系统会自动判断文件包含过程中,是否已经包含过。(是否被重复包含,因为一个文件最多被包含一次)
  • require:作用和include相同
  • require_once:作用和include_once相同

基本语法

include '文件名字'
include('文件名字') 

文件加载原理

1.在文件加载(include或者require)的时候,系统会自动的将被包含文件中的代码相当于嵌入到当前文件中

2.加载位置:在哪加载,对应的文件中的代码嵌入的位置就是对应的include位置

3.在PHP中被包含的文件是单独进行编译的

PHP文件在编译的过程中如果出现了语法错误,那么会失败(不会执行);但是如果被包含文件有错误的时候,系统会在执行到包含include这条语句的时候才会报错。


include和require的区别

include和include_once的区别:

  • include系统会碰到一次,执行一次;如果对同一个文件进行多次加载,那么系统会执行多次
  • include_once:系统碰到多次,也只会执行一次。

使用include

image-20230731153017510


使用include_once

image-20230731153033713

require和include的区别:本质都是包含文件,唯一的区别在于包含不到文件的时候,报错的形式不一样

  • include的错误级别比较轻:不会阻止代码执行
  • require要求较高:如果包含出错代码不再执行(require后面的代码)

使用include

image-20230731153122208

使用require

image-20230731153131376


文件的加载路径

文件在加载的时候需要指定文件路径才能保证PHP正确的找到对应的文件。

文件的加载路径包含两大类:

  • 绝对路径、:从磁盘的根目录开始(本地绝对路径)
    • Windows:盘符C:/路径/PHP文件
    • Linux:/路径/PHP文件
    • 从网站根目录开始(网络绝对路径)
    • /:相对于网站主机名字对应的路径
  • 相对路径:从当前文件所在目录开始的路径
    • .:当前目录
    • ..:上级目录

绝对路径和相对路径的加载区别

1.绝对路径相对效率偏低,但是相对安全(路径不会出问题)

2.相对路径相对效率高些,但是容易出错(相对路径会发生改变)


文件嵌套包含

文件嵌套包含:一个文件包含另外一个文件,同时被包含的文件又包含了另外一个文件。

嵌套包含的时候就很容易出现相对路径出错的问题:相对路径会因为文件的包含而改变(.和…的含义会变)

image-20230731171112901

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/81862.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动web开发rem适配布局

移动web开发rem适配布局 学习目标: 能够使用rem单位能够使用媒体查询的基本语法能够使用Less的基本语法能够使用Less中的嵌套能够使用Less中的运算能够使用2种rem适配方案 1.rem单位基础 2.媒体查询 2.1什么是媒体查询 媒体查询是css3的新语法 使用media查间&#xff0c…

动物体外受精手术VR模拟仿真培训系统保证学生及标本的安全

奶牛是养殖业主要的资源,因此保证奶牛的健康对养殖业的成功和可持续发展具有重要已用,奶牛有一些常见易发病,一旦处理不当,对奶牛业都会造成较大的经济损失,传统的奶牛手术培训实操难度大、风险高且花费大,…

掌握AI助手的魔法工具:解密Prompt(提示)在AIGC时代的应用「上篇」

在当今的AIGC时代,我们面临着越来越多的人工智能技术和应用。其中一个引人注目的工具就是Prompt(提示)。它就像是一种魔法,可以让我们与AI助手进行更加互动和有针对性的对话。那么,让我们一起来了解一下Prompt&#xf…

gitlab合并分支

我的分支为 cheng 第一步: 增加新的代码 第二步:提交并推送 第三步:打开gitlab,找到对应项目 这样就成功把cheng分支合并到dev-test分支了

2023年高教社杯 国赛数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&…

国产调度器之光——Fsched到底有多能打?

这是一篇推荐我们速石自研调度器——Fsched的文章。 看起来在专门写调度器,但又不完全在写。 往下看,你就懂了。 本篇一共五个章节: 一、介绍一下主角——速石自研调度器Fsched 二、只要有个调度器,就够了吗? 三…

RISC-V公测平台发布 · 数据库在RISC-V服务器上的适配评估

前言 上一期讲到YCSB在RISC-V服务器上对MySQL进行性能测试(RISC-V公测平台发布 使用YCSB测试SG2042上的MySQL性能),在这一期文章中,我们继续深入讨论RISC-V数据库的应用。本期就继续利用HS-2平台来测试数据库软件在RISC-V服务器…

Linux —— keepalived

简介 Keepalived 是一个用 C 语言编写的路由软件。这个项目的主要目标是为 Linux 系统和基于 Linux 的基础设施提供简单而强大的负载均衡和高可用性功能。 Keepalived 开源并且免费的软件。 Keepalived 的2大核心功能 1. loadbalance 负载均衡 LB:ipvs--》lvs软件…

Socket基本原理

一、简单介绍 Socket,又称套接字,是Linux跨进程通信(IPC,Inter Process Communication)方式的一种。相比于其他IPC方式,Socket牛逼在于可做到同一台主机内跨进程通信,不同主机间的跨进程通信。…

测试框架pytest教程(10)自定义命令行-pytest_addoption

pytest_addoption pytest_addoption是pytest插件系统中的一个钩子函数,用于向pytest添加自定义命令行选项。 在pytest中,可以使用命令行选项来控制测试的行为和配置。pytest_addoption钩子函数允许您在运行pytest时添加自定义的命令行选项,…

【VS Code插件开发】消息通信(四)

🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋‍♂️ 作者简介:前端领域优质作者、阿里云专家博主,共同学习共同进步,一起加油呀! 📢 资料领取:前端…

element ui - el-select获取点击项的整个对象item

1.背景 在使用 el-select 的时候,经常会通过 change 事件来获取当前绑定的 value ,即对象中默认的某个 value 值。但在某些特殊情况下,如果想要获取的是点击项的整个对象 item,该怎么做呢? 2.实例 elementUI 中是可…