PHP:全局变量混乱



尝试使用我制作的库时,事情有些混乱。这就是我的项目的样子,没有不必要的内容。

lib_vars.php

<?php $lib_var = 10;?>

lib.php

<?php
    require_once('lib_vars.php');
    function lib_func(){
        global $lib_var;
        echo $lib_var;
    }
?>

action.php

<?php
    require_once('lib/lib.php');
    function action(){
        lib_func();
    }
?>

index.php

<?php
    require_once('action.php');
    function main(){
        if(true)
            action();
    }
    main();
?>

由于某种原因,我必须将require_once('action.php')放在index.php的顶部。如果我将其放置在IF-Statement中,它将无法再找到$lib_var。如果我在index.php中有10种不同的操作,那么我被迫包括9个不必要的文件。有人知道替代吗?

谢谢。

您不必将require_once('action.php')放置在index.php的顶部,但是如果您在有限范围内包含任何内容,则必须手动导出它作为Globals所包含的所有变量。类似地,如果您想在随附的文件中使用全局变量,则必须"导入"它们。请参阅此处使用extract执行此类操作的示例:https://stackoverflow.com/a/10144260/925196

相关内容

  • 没有找到相关文章

最新更新