编程语言
首页 > 编程语言> > php – 如何从类的函数内部访问全局变量

php – 如何从类的函数内部访问全局变量

作者:互联网

我有文件init.php:

<?php 
     require_once 'config.php';
     init::load();
?>

与config.php:

<?php 
     $config = array('db'=>'abc','host'=>'xxx.xxx.xxx.xxxx',);
?>

一个名为something.php的类:

<?php
     class something{
           public function __contruct(){}
           public function doIt(){
                  global $config;
                  var_dump($config); // NULL  
           }
     } 
?>

有人可以告诉我为什么它是空的???
在php.net,他们告诉我,我可以访问,但实际上不是.
我试过但不知道.
我使用的是PHP 5.5.9.
提前致谢.

解决方法:

config.php中的变量$config不是全局的.

为了使它成为一个全局变量,我不建议你必须在它面前写出全局的魔术词.

我建议你阅读superglobal variables.

还有一点点variable scopes.

我建议的是建立一个处理你的课程.

那看起来应该是这样的

class Config
{
    static $config = array ('something' => 1);

    static function get($name, $default = null)
    {
        if (isset (self::$config[$name])) {
            return self::$config[$name];
        } else {
            return $default;
        }
    }
}

Config::get('something'); // returns 1;

标签:php-5-5,php
来源: https://codeday.me/bug/20190724/1524020.html