相关疑难解决方法(0)

PHP中的全局变量是否被视为不良做法?如果是这样,为什么?

function foo () {
    global $var;
    // rest of code
}
Run Code Online (Sandbox Code Playgroud)

在我的小PHP项目中,我通常采用程序方式.我通常有一个包含系统配置的变量,当我需要在函数中访问此变量时,我会这样做global $var;.

这是不好的做法吗?

php global global-variables

84
推荐指数
5
解决办法
3万
查看次数

在PHP中停止使用`global`

我有一个config.php包含在每个页面.在配置中我创建一个类似于下列的数组:

$config = array();
$config['site_name']      = 'Site Name';
$config['base_path']      = '/home/docs/public_html/';
$config['libraries_path'] = $config['base_path'] . '/libraries';
//etc...
Run Code Online (Sandbox Code Playgroud)

然后我有function.php,几乎每个页面都包括,我必须使用它global $config来访问它 - 就是我想要摆脱的!

如何$config在不使用代码的情况下访问代码的其他部分global

任何人都可以解释一下,为什么我不应该global在我的例子中使用?有人说这是一个糟糕的语气,其他人说它不安全?

编辑1:

我在何处以及如何使用它的示例:

function conversion($Exec, $Param = array(), $Log = '') {
        global $config;
        $cmd = $config['phppath'] . ' ' . $config['base_path'] . '/' . $Exec;
                foreach ($Param as $s)
                {
                    $cmd .= ' ' . $s;
                }
 }
Run Code Online (Sandbox Code Playgroud)

编辑2:

按照Vilx的建议,将所有这些放在类中会很酷但在这种情况下,我如何将它与从提取配置 …

php

44
推荐指数
3
解决办法
2万
查看次数

PHP中全局变量和函数参数之间的优缺点?

抱歉,我是初学者,我无法确定这是一个多么好的问题,也许对你们这些人来说听起来完全是显而易见的.

如果我们使用下面这两个是相同哪个更好?

function doSomething ($var1,$var2,..){
    ...
}
Run Code Online (Sandbox Code Playgroud)

要么

function doSomething (){
    global $var1,$var2,..;
    ...
}
Run Code Online (Sandbox Code Playgroud)

通过我们的使用,我的意思是我知道在第二种情况下我们也可以改变全局变量的值.但是,如果我们不需要这样做,这是编写此功能的更好方法呢?传递变量比在函数中宣布全局变量需要更少的内存吗?

php performance function global-variables

18
推荐指数
3
解决办法
3万
查看次数

PHP - 全局变量的性能和内存问题

假设情况:我在php中运行一个复杂的站点,我使用了很多全局变量.

我可以在变量存储在现有的全球范围内,也就是说$_REQUEST['userInfo'],$_REQUEST['foo']$_REQUEST['bar']等,并投入了大量的不同的东西放入请求范围(这将是适当的使用,因为这些数据是指请求本身).

要么

我可以继续使用像global $userInfo, $foo, $bar;我的大多数功能中的行.

是否存在性能损失,或两种解决方案的内存使用量差异?

一个更容易打字...那么是否有最佳实践指南?

php memory performance globals

2
推荐指数
2
解决办法
3390
查看次数

标签 统计

php ×4

global-variables ×2

performance ×2

function ×1

global ×1

globals ×1

memory ×1