使用new后,Object为NULL

时间:2017-06-10 20:24:42

标签: php object

我有这个小错误,我无法理解。我一直收到以下错误:

Warning: Creating default object from empty value 

我发现这是因为$ newkey是NULL,我不明白为什么在我分配之后它为null?

$newKey = new AccessKey;
$newkey->_token = $data[0]['token'];
$newKey->_id = $data[0]['id'];
$newKey->_workforceid = $data[0]['workforce'];

该类本身看起来像这样

class AccessKey
{
    private $_id = -1; 
    private $_token = "";
    private $_workforceid = -1;
}

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:6)

问题#1
检查你的外壳。

您将其实例化为$newKey(大写K),但稍后会使用$newkey(小k)。

问题#2
正如@JaredFarrish所提到的,如果您要在课堂外设置属性,还需要将属性从private更改为public

答案 1 :(得分:1)

试试这个:

$newKey = new AccessKey;
$newKey->_token = $data[0]['token'];
$newKey->_id = $data[0]['id'];
$newKey->_workforceid = $data[0]['workforce'];

而不是

$newKey = new AccessKey;
$newkey->_token = $data[0]['token'];
$newKey->_id = $data[0]['id'];
$newKey->_workforceid = $data[0]['workforce'];

问题是$newkey$newKey

不同

如果要设置属性类,如果要将其设置为类

,则需要将private更改为public

DEMO