微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PHP类中“隐藏”私有变量

我可能对此没有很好的理解,但由于“用户名”变量是私有的.这不应该是回报的一部分吗?如何使$username是私有的而不是outputed,但是公共成员是?

class MyClass 
{
    private $username = "api";


    public function create_issue()
    {
        $this->public = "Joe";
        return $this;
    }

}

$test = new MyClass();
$test->create_issue();

var_dump($test);

class MyClass#1 (2) {
  private $username =>
  string(3) "api"
  public $public =>
  string(3) "Joe"
}

解决方法:

我理解你的担忧.首先,让我讨论变量范围私有.
私有变量在当前类中是私有的.如果您在另一个类中使用该类私有变量将无法工作.因此,您必须使用另一个类来保护您的私有变量.

<?PHP

class MyClassprotected 
{
    private $username = "api";
    public function doSomething(){   
    // write code using private variable
   }

}


class MyClass
{   
    public function create_issue()

    {
       $test = new MyClassprotected();
       $test -> doSomething();
       return $this->public = "Joe";
    }
}


$test = new MyClass();
$test->create_issue();
var_dump($test);

?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐