在 PHP 中,require 是一种文件引入语句,用于将外部文件的内容插入到当前脚本中。以下是其详细用法解析:
1. 基本语法
require "文件路径";
或
require("文件路径"); // 括号可选,功能相同2. 核心功能
代码复用:将重复使用的配置、函数或类拆分到独立文件,通过
require引入。作用域继承:被引入文件的变量、常量、函数等会在当前脚本的相同作用域中生效。
无条件加载:无论
require是否在条件语句中,文件都会被加载(对比include可能被跳过)。
3. 典型使用场景
(1) 引入配置文件
// config.php
<?php
define('DB_HOST', 'localhost');
?>
// index.php
require "config.php";
echo DB_HOST; // 输出 "localhost"(2) 引入函数库
// utils.php
<?php
function greet($name) {
return "Hello, $name!";
}
?>
// index.php
require "utils.php";
echo greet("Alice"); // 输出 "Hello, Alice!"(3) 模块化代码结构
// header.php <header><h1>网站标题</h1></header> // footer.php <footer>© 2025</footer> // index.php require "header.php"; echo "<main>内容区域</main>"; require "footer.php";
4. require 与相关语句对比
5. 路径处理建议
相对路径:基于当前脚本所在目录(如
require "lib/utils.php";)。绝对路径:使用
__DIR__或dirname(__FILE__)避免歧义:
require __DIR__ . "/config.php";
6. 错误处理示例
if (file_exists("config.php")) {
require "config.php";
} else {
die("配置文件缺失!");
}7. 注意事项
安全性:避免动态拼接路径(如
require $_GET['file'];),可能引发文件包含漏洞。性能:
require在编译阶段处理,比运行时处理的include略高效。文件扩展名:通常使用
.php,但实际可引入任何文本文件(如.html)。
通过合理使用 require,可以实现代码的模块化、可维护性和复用性。对于关键依赖,优先选择 require 或 require_once 以确保脚本稳定性。