<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### __get() 獲得不可訪問的屬性的值: __get() 一旦定義了__get()魔術方法,獲取不可訪問的屬性的值的時候,就會自動的執行該方法,此時,處理權就交給用戶自己了! 該魔術方法,只需要一個參數,就是該屬性的屬性名! ### 默認行為 ~~~ class Person{ public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $p = new Person("jack",20); var_dump($p->height); ~~~ ~~~ Notice: Undefined property: Person::$height //報錯 ~~~ ### 不完成方法體 ~~~ class Person{ public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function __get($name) //自動調用__get() ,但是該方法什么都沒做 { } } $p = new Person("jack",20); var_dump($p->height); ~~~ ~~~ NULL ~~~ ### 完成方法體 ~~~ class Person{ public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function __get($name) { if(!isset($this->$name)){ return "屬性不存在"; } } } $p = new Person("jack", 20); var_dump($p->height); ~~~ ~~~ string(15) "屬性不存在" ~~~ 或者 ~~~ class Person{ private $name; private $age; private $money; public function __construct($name) { $this->name = $name; } public function setName($name) { $this->name = $name; } public function __get($name) { $allow_get = ['name', 'age']; if(in_array($name, $allow_get)){ return $this->$name; } return "無權訪問"; } } $p1 = new Person("jack"); var_dump($p1->money); ~~~ ~~~ string(12) "無權訪問" ~~~ ### 注意 __get和__set兩個方法往往在真實的項目中都是成對出現的!而且,往往就是利用這兩個方法批量的對對象的私有屬性進行處理!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看