如何理解PHP与Java重载,两者什么差异
Admin 2022-11-17 群英技术资讯 1062 次浏览
这篇主要是介绍“如何理解PHP与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]);
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家分享了关于php中的explode()函数实例知识点内容,有兴趣的朋友们学习下。
php中__call方法的用法:1、当要调用的方法不存在或者权限不足时候,会自动调用。2、首先要重写__call方法,__call方法有2个参数,method和param,对应真实的方法名字和参数。
在进行对数据库的批量操作(如:插入、更新、修改)时,应当尽可能将SQL语句合并后再执行而不是在循环中依次执行。
开发前很多外包团队肯定会问你,是用Java开发还是php开发,如果你不懂,要么选择相信这个团队,要么等着被坑。
swoole可以使用心跳检测,使用起来非常简单,只需要配置heartbeat_check_interval,heartbeat_idle_time就可以了。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008