为什么我要使用访问器功能呢?

时间:2014-07-27 10:08:17

标签: php class attributes accessor

这是访问者功能:

<?php
    class classname
    {
        public $attribute;
        function __get($name)
        {
            return $this->$name;
        }
    }

    $a = new classname;
    $a->attribute = "Anna";
    $name = $a->attribute;

echo $name;

&GT;

这只是一个没有访问器功能的常规类:

<?php
    class classname
    {
        public $attribute;
    }

    $a = new classname;
    $a->attribute = "Anna";
    $name = $a->attribute;

    echo $name;
?>

它们都提供相同的结果。我不明白,在什么情况下我应该使用访问器功能?

1 个答案:

答案 0 :(得分:1)

1)它只是让您控制如何以及谁可以访问该属性。 (使用访问器时,该属性应该是私有的。)

2)您可以根据访问的对象和方式更改值

3)您可以在访问财产时通知某人

还有更多......