Yii 属性编码风格

来源:互联网 发布:如何评价储安平知乎 编辑:程序博客网 时间:2024/05/18 20:50

通过 getter 和 setter 定义的属性也有一些特殊规则和限制:

  • 这类属性的名字是不区分大小写的。如,$object->label 和 $object->Label 是同一个属性。 因为 PHP 方法名是不区分大小写的。
  • 如果此类属性名和类成员变量相同,以后者为准。 例如,假设以上 Foo 类有个 label 成员变量, 然后给 $object->label = 'abc' 赋值,将赋给成员变量而不是 setter setLabel() 方法。
  • 这类属性不支持可见性(访问限制)。定义属性的 getter 和 setter 方法是 public、protected 还是 private 对属性的可见性没有任何影响。
  • 这类属性的 getter 和 setter 方法只能定义为非静态的,若定义为静态方法(static)则不会以相同方式处理。
  • A normal call to property_exists() does not work to determine magic properties. You should call yii\base\Object::canGetProperty() or yii\base\Object::canSetProperty() respectively.
0 0
原创粉丝点击