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