我有一个 .ini
文件作为我项目的配置。现在我想让它无处不在。 Here是我正在尝试做的事情的简化:
<?php
$config = [];
$config['base_url'] = '/mypath/';
class myclass{
public function myfunc(){
print_r($config);
}
}
$obj = new myclass;
$obj->myfunc;
正如您在 fiddle 中看到的那样,它会抛出:
Notice: Undefined property: myclass::$myfunc in /in/iNZOv on line 14
请注意,当我为其使用 global
关键字时,它会抛出语法错误。
看,我可以像这样将数组传递给类:
$obj = new myclass($config);
public $config;
public function __construct($config)
{
$this->config = $config;
}
但我不能每次都对所有类(class)都这样做。不管怎样,我想知道,是否可以使数组在全局范围内可访问?
最佳答案
使用全局
。您还需要 $obj->myfunc();
而不是 $obj->myfunc();
因为它是成员函数
$config = [];
$config['base_url'] = '/mypath/';
class myclass{
public function myfunc(){
global $config;
print_r($config);
}
}
$obj = new myclass;
$obj->myfunc();
关于php - 如何在不传递数组的情况下使类可以访问数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253399/