实现属性

类成员变量称为 “属性”。 默认情况下, 它们的作用与 php 属性相同。 属性被导出到PHP扩展中,并从PHP代码中可见。 属性实现 php 中可用的常规可见性修饰符, 并且在 Zephir中必须显式设置可见性修饰符:

  1. namespace Test;
  2. class MyClass
  3. {
  4. public myProperty1;
  5. protected myProperty2;
  6. private myProperty3;
  7. }

在类方法中, 可以使用-> (对象运算符) 访问非静态属性:

  1. namespace Test;
  2. class MyClass
  3. {
  4. protected myProperty;
  5. public function setMyProperty(var myProperty)
  6. {
  7. let this->myProperty = myProperty;
  8. }
  9. public function getMyProperty()
  10. {
  11. return this->myProperty;
  12. }
  13. }

属性可以具有文本兼容的默认值。 这些值必须能够在编译时进行计算, 并且不能依赖于运行时信息才能进行计算:

  1. namespace Test;
  2. class MyClass
  3. {
  4. protected myProperty1 = null;
  5. protected myProperty2 = false;
  6. protected myProperty3 = 2.0;
  7. protected myProperty4 = 5;
  8. protected myProperty5 = "my value";
  9. }