php基础之文件载入过程 路径及四种载入关键词区别

2024-05-12 11:08

本文主要是介绍php基础之文件载入过程 路径及四种载入关键词区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

php文件加载在项目中比较常用,下面简单介绍一下四个加载关键词(区别)、文件路径、执行过程等。

  • 四个加载文件关键词分别为:include include_once require require_once
  • 使用形式相同,eg. include “目标文件的路径” 或 include(“目标文件的路径”)
  • 含义几乎相同,只不过在加载失败或是否需要重复加载方面,含义有所不同
  • 可以加载html或php文件

文件的加载路径

以include为例,其他三种加载路径是一样的。

相对路径
  • 指相对于当前文件来说的,主要有以下两个特殊的路径符号:
    • ./:当前文件所在位置的目录
    • ../:当前文件的所在位置的上一级目录
  • 示例如下
// 使用相对路径引入文件
include "./page01.php";
绝对路径
  • 本地绝对路径,如d:/test/01.php,一般来说,不应该在代码中这么写,因为程序是要发布到线上,而不是本地的。同时,可以采用如下方式,进行引用:
// 使用绝对路径引入文件,方式一:
include __DIR__ . '\page01.php';//使用绝对路径方式引入文件,方式二:
include $_SERVER['DOCUMENT_ROOT'] . '\zhonglq\page01.php';
  • 网页绝对路径
    如:http://www.baidu.com/test.php
无路径

如:

include "page01.php";

默认会从当前文件所在的目录中找,不推荐使用。

文件载入过程

  1. 从include语句开始,退出php脚本模式,进入html代码模式
  2. 载入include语句中所设定的文件中的代码,并执行
  3. 加载执行完文件中的代码后,重新进入php脚本模式,继续执行之后的代码

四个载入语句的区别

  • include(include_once)载入文件时,如果文件没找到,会报一个错误提示,然后继续执行后面的代码
  • require(require_once)载入文件时,如果文件没有找到,会报错并终止后面代码的执行
  • include(require)载入的文件不判断是否重复,只要有include(require)语句,就载入一遍
  • include_once(require_once)载入文件的时候,会有一个内部判断机制,判断该文件之前是否载入过,如果载入过就不再再次载入该文件了。

被载入文件return语句相关

  • 载入一个文件,如果载入成功,返回值为1,如果载入失败,返回false
  • 如果被载入文件中有return语句,那么被载入文件return后面的语句都不再执行
  • return语句也可以作用于被载入文件时返回给调用方的一个数据值

如下为被载入文件page03.php:

echo "this is page03 start";
return 5;
echo "<br>";
echo "this is page03 end";

如下为调用方代码:

$result = include("./page03.php");
var_dump($result);

输入结果为:

int 5

好了,php载入文件关键词语句及相关介绍,就简单整理到这了~

这篇关于php基础之文件载入过程 路径及四种载入关键词区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982459

相关文章

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存