• 实现属性

    实现属性

    类成员变量称为 “属性”。 默认情况下, 它们的作用与 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. }