php小白问下我这样使用类中公用变量错了吗?

我用的是thinkphp6,发送邮件接口成功了,能够返回 $this->userInfoArr这个数组,并有内容,但调用注册接口时$this->userInfoArr是空数组是怎么回事?不是在调用发送邮件接口后保存了值吗,为什么是空的?如果我想在注册接口使用userInfoArr这个数组的内容要怎么写?求教,谢谢!

class User
{
    protected $userInfoArr = []; 

    /**
     * 注册接口
     */
    public function register()
    {
        if (!$this->userInfoArr) {
            return '123';
        } else{
            return 'abc';
        }
    }

    /**
     * 发送邮件接口
     */
    public function sendCode()
    {
        .
        .
        .
        //前面一系列操作
        $this->userInfoArr = ['code' => $code, 'email' => $email, 'usrname' => $username, 'nowTime' => time()];
        return $this->userInfoArr;
    }
}

 

register和sendCode是一个实例吗,不是的话当然获取不到
比如
$obj = new User();
$obj->sendCode();
这样你的register才能有userInfoArr