旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

正确理解 PHP 的重载【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:91


导读:PHP的重载跟Java的重载差别,不可等量齐观。Java许可类中存在多个同名函数,每一个函数的参数不相同,而PHP中只许可存在一个同名函数。比方,Java的组织函数能...
PHP 的重载跟 Java 的重载差别,不可等量齐观。Java 许可类中存在多个同名函数,每一个函数的参数不相同,而 PHP 中只许可存在一个同名函数。比方,Java 的组织函数能够有多个,PHP 的组织函数则只能有一个。

PHP 的重载是指 经由过程把戏要领对属性和类的动态建立

● 属性的重载 - __get 与 __set

● 要领的重载 - __call 与 __callStatic

比方,Laravel 的要求类完成了属性重载,使代码变得越发的简约

$name = $request->name;

该属性在类中并不存在,而是经由过程把戏要领来访问的,细致完成以下

public function __get($key)
{
    return Arr::get($this->all(), $key, function () use ($key) {
        return $this->route($key);
    });
}

这类完成体式格局的运用异常普遍,简朴的归结完成的道理

class Foo
{   
    private $params = [];
    function __construct(array $params = [])
    {
        $this->params = $params;
    }
    public function __set($name, $value)
    {
        $this->params[$name] = $value;
    }
    public function __get($name)
    {
        return $this->params[$name];
    }
    public function __isset($name)
    {
        return isset($this->params[$name]);
    }
    public function __unset($name)
    {
        unset($this->params[$name]);
    }
}

以上就是正确理解 PHP 的重载的细致内容,更多请关注ki4网别的相干文章!

标签:PHP 重载