PHP包含声明

2023年11月21日10:57:11

介绍

借助include语句,可以使一个文件中的PHP代码可用于另一PHP脚本中。通过一次编写函数和类并在需要时调用,此功能可实现模块化程序的开发。

缺省情况下,include语句将检查当前文件夹中的文件,并进一步检查php.ini的include_path设置中提及的目录。如果在当前文件夹以及include_path文件夹中都找不到所需的文件,则PHP解析器将发出E_WARNING信息,并继续执行调用模块。

包含的文件可以在包含之前访问在调用模块中定义的变量。这样的变量将具有全局范围。

包含示例

在下面的示例中,主要的php脚本包括test.php------

示例

<?php
echo "inside main script\n";
$var1=100;
echo "now calling test.php------ script\n";
include "test.php------";
echo "returns from test.php------";
?>
//test.php------
<?php
$var2=200;
//从主脚本访问$var1-
echo $var1+$var2 . "\n";
?>

输出结果

从命令行运行主脚本时,将产生以下结果:

inside main script<br />now calling test.php------ script<br /><br />300<br />returns from test.php------

警告包含失败

在以下示例中,尝试包含不存在的文件将导致警告

示例

<?php
echo "inside main script\n";
$var1=100;
echo "now calling nosuchfile.php script\n";
include "nosuchfile.php";
echo "returns from nosuchfile.php";
?>

输出结果

这将产生以下结果。请注意,程序不会在警告时终止-

inside main script
now calling nosuchfile.php script
PHP Warning: include(nosuchfile.php): failed to open stream: No such file or directory in line 5
PHP Warning: include(): Failed opening 'nosuchfile.php' for inclusion (include_path='C:\xampp\php\PEAR') in line 5
returns from nosuchfile.php

从内部包含

在下一个示例中,test.php------被包含在一个函数中。包含文件中的代码将被视为函数的一部分。因此,包含文件中的变量将无法在函数外部访问

示例

//main script
<?php
function myfunction(){
   $var1=100;
   include "test.php------";
   echo $var1+$var2."\n";
}
myfunction();
echo "variable from included file outside function: $var2";
?>
//test.php------ included
<?php
echo "test.php------ called from inside function\n";
$var2=200;
return;
?>

输出结果

从命令行运行主脚本时,这将产生以下结果:

100
test.php------ called from inside function
PHP Notice: Undefined variable: var2 in C:\xampp\php\testscript.php on line 9
Notice: Undefined variable: var2 in C:\xampp\php\testscript.php on line 9
variable from included file outside function

从包含文件返回

include语句成功返回TRUE,失败返回FALSE。如果包含文件显式返回表达式,则调用模块可以使用该表达式进行进一步处理。

示例

//main script
<?php
$result=include "test.php------"; // returns value
echo "retun value : $result\n";
$y=include "test1.php---"; //with return only
echo "return value : $y\n";
$x=include "test2.php---"; //no return statement
echo "return value : $x\n";
?>
//test.php------
<?php
$var=100;
return $var;
?>
//test1.php---
<?php
$var=100;
return;
?>
//test2.php---
<?php
$var=100;
?>

输出结果

这将产生以下结果-

retun value : 100
return value :
return value : 1

  • 更新时间:2023年11月21日10:57:11 ,共 2237 字。