我将多个对象存储到一个配置数组中。
例如像这个
class Test
{
private $config = array();
public function __construct()
{
$this->abc();
$this->def();
}
public function abc()
{
$this->config['abc'] = new someClass('abc');
}
public function def()
{
$this->config['def'] = new someClass('def');
}
public function printTest()
{
return $this->config;
}
}
class someClass
{
public function __construct($value)
{
echo $value;
}
}
我的问题是,当我打印配置变量时,我确实看到了对象数据。我不能理解的是,为什么在我尝试将第二个对象def
存储到配置数组中之后,我不能回显第一个对象abc
的值。
当您想要打印config['def']时,您需要表示这就是您想要的数据。现在
$this->config
是
array('abc'=>'abc', 'def'=>'def')
你只是说
return $this->config['def'];
就我个人而言,我觉得一个名为printSomething()的函数应该将数据打印到屏幕上(或者至少返回一个字符串,所以我会说
function printConfig()
{
$tmp = "";
foreach($this->config as $key=>$value)
{
$tmp .= "Config option:{$key} value is {$value}<br>";
}
return $tmp;
}