JM4*_*JM4 2 php require include require-once
我有几个页面在PHP中使用include或require语言结构.其中许多都属于IF,ELSE语句.
我确实意识到如果缺少require'd文件,页面根本不会加载,但包含这种方式的主要目的是:
1)减少页面上的代码混乱
2)除非满足声明,否则不加载文件.
是否发布了include或require语句加载文件(从而消除了我试图通过置于if/else语句中获得的好处?
简要示例:
<?php
$i = 1
if($i ==1) {
require_once('somefile.php');
} else {
require_once('otherfile.php');
}
?>
Run Code Online (Sandbox Code Playgroud)
页面加载时,是否检查并加载了文件?
如果将include/ require语句放在if (或else)的主体中,则在if条件为真时执行.
if ($a == 10) {
// your_first_file.php will only be loaded if $a == 10
require 'your_first_file.php';
} else {
// your_second_file.php will only be loaded if $a != 10
require 'your_second_file.php';
}
Run Code Online (Sandbox Code Playgroud)
而且,如果你愿意,你可以很容易地测试它.
第一个例子:
if (true) {
require 'file_that_doesnt_exist';
}
Run Code Online (Sandbox Code Playgroud)
会得到你:
Warning: require(file_that_doesnt_exist) [function.require]: failed to open stream: No such file or directory
Fatal error: require() [function.require]: Failed opening required 'file_that_doesnt_exist'
Run Code Online (Sandbox Code Playgroud)
即require执行 - 并失败,因为文件不存在.
而第二个例子:
if (false) {
require 'file_that_doesnt_exist';
}
Run Code Online (Sandbox Code Playgroud)
不会给你任何错误:require没有执行.