
php 类中变量存储数据的问题
在 php 8.0 中,遇到了使用类中的私有变量 _email 存储数据时出现 attempt to assign property "to" on null 错误的问题。而这个问题在 php 7.x 版本中似乎不会出现。
在 php 8.0 中,以下代码会抛出上述错误:
class send
{
private $_email;
public function sendmail()
{
$this->_email->to = 'xxx';
$this->do();
}
public function do()
{
// code
}
}这是因为 php 8.0 中对某些警告进行了更改,转为抛出错误异常:
立即学习“PHP免费学习笔记(深入)”;
解决此问题,需要在构造函数中将 _email 显式声明为 stdclass 实例或其他对象:
class Send
{
private $_email;
public function __construct()
{
$this->_email = new stdClass;
}
public function sendMail()
{
$this->_email->to = 'xxx';
$this->do();
}
public function do()
{
// code
}
}以上就是PHP8.0中类私有变量赋值报错:如何解决Attempt to assign property "to" on null错误?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号