PHP函数全局与必需


PHP Function Global vs. Require

我有一个基于另一个脚本中的变量运行的脚本。在脚本的顶部,我需要变量脚本。

我试图让我的脚本更容易编辑,所以我决定创建函数,因为我的很多脚本都做同样的事情。在函数中,我需要提取变量脚本中设置的一些变量。我尝试使用require,但它往往会使脚本变得非常缓慢。我知道我可以设置PHP全局变量,但我在哪里读到使用全局变量是个坏主意?这是真的吗?

除了在函数中使用require或使用globals之外,还有更好的方法吗?

代码:

function test() 
{
    require('var.php');
    // function code
}

require('var.php');
function test() 
{
    global $var_variable1, $var_variable2;
    // function code
}

实际上还有第三种选择:

在文件param.php中

<?php
    $param = 1234;
?>

在文件test.php中

<?php
    require 'param.php';
    function foo( $bar )
    {
        var_dump( $bar );
    }
    foo( $param );
?>

但你应该明白,这是一种处理变量和将指令从一段代码传递到另一段代码的非常原始的方式。

当你学习完PHP语言的基础知识后,你应该开始研究面向对象的编程方法。这将是成长的方式。

当变量是固定的时,使用常量是一个很好的解决方案。

创建一个包含所有常量的PHP文件:

<?php
define("FOO",     "something");
define("FOO2",    "someotherthing");
?>

按照惯例,使用大写常量名称。在脚本文件中,使用require_oce()作为第一行,以包含脚本文件,在其中定义所有常量。

对包含所有支持函数的脚本执行同样的操作,并从脚本中请求一次文件。

如果可能的话,将OOP与PHP结合使用。有了物体,你可以做非常酷的事情。