如何使用函数来要求php文件不改变全局变量环境?

时间:2013-04-17 09:20:16

标签: php

如何使用函数来要求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?

 */
?>

1 个答案:

答案 0 :(得分:0)

从您注释掉的行中,您似乎希望能够将$name用作全局变量。

<?php 
    global $name;
    echo $name;
?>

详细了解变量范围here

或者,您可以使用:

echo $this->name;