PHP 的重載跟 Java 的重載不一樣,不可混爲一談。Java 容許類中存在多個同名函數,每一個函數的參數不相同,而 PHP 中只容許存在一個同名函數。例如,Java 的構造函數能夠有多個,PHP 的構造函數則只能有一個。php
PHP 的重載是指 經過魔術方法對屬性和類的動態建立web
● 屬性的重載 - __get 與 __set函數
● 方法的重載 - __call 與 __callStaticthis
例如,Laravel 的請求類實現了屬性重載,使代碼變得更加的簡潔spa
13d |
|
該屬性在類中並不存在,而是經過魔術方法來訪問的,具體實現以下ip
1ci 2get 3 4 5 6 |
|
這種實現方式的應用很是普遍,簡單的概括實現的原理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|