📜  如何在PHP中实现方法重载?

📅  最后修改于: 2022-05-13 01:56:20.967000             🧑  作者: Mango

如何在PHP中实现方法重载?

PHP代表超文本预处理器,它是一种流行的通用脚本语言,主要用于 Web 开发。它快速、灵活、实用,最新版本的PHP是面向对象的,这意味着您可以编写类、使用继承、多态、数据抽象、封装、构造函数、析构函数以及重载(方法和函数)。

重载重载是一个面向对象的概念,其中两个或多个方法具有相同的方法名称,但具有不同的参数或参数(强制)和返回类型(非必需)。它可以通过构造函数重载、运算符重载和方法重载来完成。
在本文中,我们将在PHP中实现方法重载。

PHP中的方法重载:

示例:给出以下代码将显示一些错误。

PHP
multiply(3,6);
?>


PHP
multiply(2); 
$class->multiply(5, 7);
  
?>


输出:显示错误是因为我们在 GFG 类中重新声明了函数multiply()

PHP Fatal error:  Cannot redeclare GFG::multiply()

注意:在 C++ 等其他编程语言中,这适用于重载方法。为了在PHP中实现方法重载,我们必须利用 PHP 的神奇方法__call()来实现方法重载。

__call():在PHP中,如果一个类执行__call() ,并且如果该类的对象使用不存在的方法调用,则调用__call()而不是该方法。下面的代码演示了这一点。

例子:

PHP

multiply(2); 
$class->multiply(5, 7);
  
?>

输出:

35