PHP 中的 Getter 和 Setter 方法是什么?


在这篇文章中,我们将学习在 PHP 中创建 getter 和 setter 方法的最佳实践。当我们需要限制最终用户对变量的直接访问时,就会使用 getter 和 setter 方法。Getter 和 Setter 是用于定义或检索变量值(通常是私有变量)的方法。

顾名思义,getter 方法是一种获取或检索对象值的技术。同样,setter 方法是一种设置对象值的技术。

示例

让我们通过一个例子来了解 getter 和 setter 方法的用法。

<?php
   class Person{
      private $name;
      public function setName($name){
         $this->name = $name;
      }
      public function getName(){
         return $this->name;
      }
   }
   $person = new Person();
   echo $person->name;
?>

输出

PHP Error Cannot access private property Person::$name

解释

在我们上面的 Person 类中,我们有一个名为 $name 的私有属性。由于它是私有属性,因此我们无法像上面那样直接访问它们,这将导致致命错误。

示例

要运行上面的代码并获得我们期望的输出,让我们测试这个例子。

<?php
   class Person{
      private $name;
      public function setName($name){
         $this->name = $name;
      }
      public function getName(){
         return 'welocme'. $this->name;
      }
   }
   $person = new Person();
   $person->setName('Alex');
   $name = $person->getName();
   echo $name;
?>

输出

welcomeAlex

解释

在这里,为了访问我们的私有属性,我们创建了一个名为 getData 的“getter”函数,同样,由于属性的可见性设置为私有,因此您也无法更改或修改它们的值。因此,您应该使用我们创建的“setter”函数之一:setName。之后,我们实例化了我们的 Person 对象。

我们使用 setter 方法 setData 将 $name 属性“设置为”"Alex"。然后,我们使用 getter 函数 getData 检索了 $name 属性的值。

更新于: 2019-12-31

14K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告