文件包含的概念与作用|学习笔记

简介: 快速学习文件包含的概念与作用

开发者学堂课程【PHP 基础入门课程(下)文件包含的概念与作用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/710/detail/12647


文件包含的概念与作用


内容介绍:

一、文件包含概念

二、文件包含的应用

三、流程图分析

四、小结

(掌握文件包含的方式和作用,掌握文件包含的路径问题,能够熟练的运用文件把包含实现系统性的代码复用)


一、文件包含概念

1、文件包含:是指将已有的代码以文件形式包含到某个指定的代码中,从而使用其中的代码或者数据(一般是结构或者数据)

(1)文件包含的本质是将多个文件变成一个整体被运行

(2)使用被包含文件内容

(3)将当前文件内容给被包含文件使用

(一个是我用其他的,一个是别人用我的。但是,都是以我为主体的概念)


二、文件包含作用

1、数据或者结构的跨脚本使用(PHP 请求,或浏览器请求 PHP 一次只能请求一个文件,那么如何让其他文件也能在这次请求被服务或用来服务用户,那么就要用到文件包含)

(1)提升开发效率(有的东西做过之后不用再做,甚至不用复制粘贴)

(2)提供代码复用(提高代码重复利用率,降低开发成本)

(3)利于代码维护(在代码一个地方写了以后,其他地方使用只需要修改一处地方,就能实现所有的位置都修复)


三、流程图分析

1、使用被包含文件内容(被请求文件永远是主体)

(1)被请求的东西有些东西自己没有,它要用别人的,此时就要用到如下操作

graph LR  

A[独立文件<br>包含结构或者数据]

A-->|被包含|B(运行开始<br>被请求的文件)

B-->C[在被请求文件中<br>应用独立文件里的内容]

C-->D((完成操作))

image.png

可理解为,现在有人找我要钱,我没有。但我知道银行有,要把银行拿过来。那么此时银行的钱就是我的,我就可以把这个钱给别人用了。我是主体,因为是别人找我。我再去找别人

2、将当前文件内容给被包含文件使用

(1)那就是我有钱了,我需要别人来帮我花。所以我把别人招到我的公司来帮我花钱的一个过程 graph LR  

A(A运行开始<br>被请求的文件)-->B[执行代码<br>产生结构或者数据<br>包含需要使用当前数据的文件]

B-->C[C独立文件](包含关系)

C-->D[在独立文件中<br>解析 A 中的数据】

D-->E((完成操作))

image.png

(由我来指定)

·回顾:第一种是我要用别人的,因此我要先把它包含进来。你有的我把你的拿进来,就可以用你的。所以任何数据或结构都是首先要有,然后再用。但是第一种是我找别人现成的我来用。第二种是我有,我找别人来代替我用。


四、小结

1、文件包含就是在一个被请求执行的 PHP 文件中引入另外一个文件

(1)使用被包含文件里的代码(被包含文件有数据或者结构)

(2)将当前文件内容给被包含文件使用(被包含文件是用来显示数据)

(3)区别:一个是包含结构,拿过来我用。一个是我有数据,交给别人去显示。因为我们知道 PHP 本身去渲染数据的能力是很弱的,但是处理数据的逻辑很强大

2、文件包含的使用

(1)提升开发效率:小规模开发,大规模应用(我写好了一个文件,其他地方都可以用或包含)

(2)提供代码复用:一次开发,多次运用(与上一个看似相同其实性质不同,一个是开发角度,一个是运用角度)

(3)利于代码维护:一处更改,多处有效(只要你运用了我的,我在这个地方改了,其他地方都可以生效)

相关文章
|
关系型数据库 MySQL 数据挖掘
MYSQL日期与时间函数的实用技巧
MYSQL日期函数与时间函数是数据库操作的关键工具,可轻松处理、查询、比较和格式化日期时间数据。它们能提取日期的年、月、日等部分,便于筛选和统计;同时,也能处理时间数据,如计算时间差、获取当前时间,助力用户更好地管理时间信息。掌握这些函数,不仅能提升数据库操作效率,还能为数据分析和报表生成提供有力支持。无论初学者还是资深数据库管理员,精通MYSQL的日期和时间函数都至关重要,以满足各种数据处理需求,确保数据的准确性和高效性。
807 0
BUUCTF 文件中的秘密 1
BUUCTF 文件中的秘密 1
631 0
|
存储 关系型数据库 MySQL
【MySQL专题】MySQL百万级数据插入效率优化
【MySQL专题】MySQL百万级数据插入效率优化
1282 0
【MySQL专题】MySQL百万级数据插入效率优化
|
5月前
|
机器学习/深度学习 人工智能 边缘计算
AI 视觉识别技术在工业园智能安监中的应用实践
本文详解AI安监系统的技术架构、核心算法与工程化方案,展示其如何通过计算机视觉实现全场景风险主动防控。
354 0
|
存储 并行计算 算法
Dask 在科学计算中的角色:加速科研数据分析
【8月更文第29天】在科学研究中,处理和分析大规模数据集的能力对于取得突破性成果至关重要。Dask 是一个灵活的并行计算库,能够与 Python 的科学计算生态系统无缝集成,为科研人员提供了高效处理大规模数据集的手段。本文将介绍如何使用 Dask 加速科研数据分析,并通过具体的代码示例展示其在实际场景中的应用。
479 0
|
10月前
|
机器学习/深度学习 数据采集 运维
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
490 19
|
10月前
|
机器学习/深度学习 存储 传感器
《解锁深度Q网络新姿势:非马尔可夫环境难题》
深度Q网络(DQN)结合深度学习与Q学习,在Atari游戏等领域取得显著成绩,但在非马尔可夫环境中面临挑战。传统DQN基于马尔可夫决策过程(MDP),假设未来状态仅依赖当前状态和动作,忽视历史信息,导致在复杂环境中表现不佳。为此,研究人员提出了三种改进策略:1) 记忆增强型DQN,引入LSTM等记忆模块;2) 基于模型的强化学习结合,通过预测环境动态提升决策准确性;3) 多智能体协作与信息共享,利用多个智能体共同感知和决策。实验表明,这些改进有效提升了DQN在非马尔可夫环境中的性能,但计算复杂度和模型可解释性仍是未来研究的重点。
238 17
|
安全 Unix 关系型数据库
3.10 使用tamper绕过时间戳进行注入
3.10 使用tamper绕过时间戳进行注入
397 0
|
SQL 安全 关系型数据库
PHP有哪些优势?
【10月更文挑战第11天】PHP有哪些优势?
236 2
|
监控 数据可视化 关系型数据库
开发者如何使用云数据库 SelectDB 版
【10月更文挑战第20天】开发者如何使用云数据库 SelectDB 版
264 0