如何使用函数来要求php文件不改变全局变量环境?
如果使用函数,并在函数代码“require(xxx.php)”中,则xxx.php中的所有变量都不是全局变量。对于下面的例子,我想得到的结果是“linjuming”,但是在require_part()函数中需要oop.php,所以echo $ name不再是'linjuming'。
请不要在require_part函数中使用全局$ name。这个函数是需要任何php文件的常用函数。其他php文件有自己的全局变量。
我的代码在这里:
<?php
$name='linjuming';
class my_template{
function require_part($part_name){
if(file_exists($part_name.'php')){
require($part_name.'php');
}
}
}
$tmp=new my_template();
$tmp->require_part('oop');
/*
oop.php codes:
<?php echo $name; ?>
I want to run component php file and do not change the global environment;
how to do that?
*/
?>
答案 0 :(得分:0)
从您注释掉的行中,您似乎希望能够将$name
用作全局变量。
<?php
global $name;
echo $name;
?>
详细了解变量范围here。
或者,您可以使用:
echo $this->name;