
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免费学习笔记(深入)”;
尝试向非对象属性赋值。以前,这会隐式地为 null、false 和空字符串创建 stdclass 对象。
解决此问题,需要在构造函数中将 _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错误?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1283223.html
微信扫一扫
支付宝扫一扫