Yii - 属性

  • 简述

    PHP 中的类成员变量也称为属性。它们代表类实例的状态。Yii 引入了一个名为yii\base\Object的类。它支持通过gettersetter类方法定义属性。
    getter 方法以单词get开头。setter 方法以set开头。您可以使用由 getter 和 setter 定义的属性,例如类成员变量。
    读取属性时,将调用 getter 方法。分配属性时,将调用 setter 方法。由 getter 定义的属性仅在未定义 setter时才被读取。
    Step 1 -在 components 文件夹中创建一个名为Taxi.php的文件。
    
    <?php
       namespace app\components;
       use yii\base\Object;
       class Taxi extends Object {
          private $_phone;
          public function getPhone() {
             return $this->_phone;
          }
          public function setPhone($value) {
             $this->_phone = trim($value);
          }
       }
    ?>
    
    在上面的代码中,我们定义了从 Object 类派生的 Taxi 类。我们设置了一个 getter – getPhone()和一个 setter – setPhone()
    第 2 步-现在,向SiteController添加一个actionProperties方法。
    
    public function actionProperties() {
       $object = new Taxi();
       // equivalent to $phone = $object->getPhone();
       $phone = $object->phone;
       var_dump($phone);
       // equivalent to $object->setLabel('abc');
       $object->phone = '79005448877';
       var_dump($object);
    }
    
    在上述函数中,我们创建了一个 Taxi 对象,尝试通过 getter访问phone属性,并通过 setter设置phone属性。
    第 3 步- 在您的网络浏览器中,输入http://localhost:8080/index.php?r=site/properties,在地址栏中,您应该会看到以下输出。
    属性输出