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 |
|