PHP中如何通过__call方法实现函数重载示例?

更新于
2026-07-26 19:50:54
19阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计469个文字,预计阅读时间需要2分钟。

本例展示了如何使用PHP的`__call`方法实现方法的重载功能。以下是一个简单的示例:

phpclass MulStat{ // showClass 可以接收0个参数或1个参数 p /** * Created by PhpStorm. * User: funco * Date: 17-6-9 * Time: 下午1:39 */ public function __call($name, $arguments) { // 检查方法名称是否以 show 开头 if (strpos($name, 'show')===0) { // 处理参数 $params=[]; if (count($arguments) > 0) { $params[]=$arguments[0]; } // 输出结果 echo 调用方法: . $name . ( . implode(, , $params) . )\n; } else { // 如果不是重载方法,则抛出错误 throw new Exception(方法不存在: . $name); } }}

// 测试$mulStat=new MulStat();$mulStat->showClass(); // 输出: 调用方法: showClass()$mulStat->showClass(1); // 输出: 调用方法: showClass(1)

本文实例讲述了php 使用 __call实现重载功能。

阅读全文

本文共计469个文字,预计阅读时间需要2分钟。

本例展示了如何使用PHP的`__call`方法实现方法的重载功能。以下是一个简单的示例:

phpclass MulStat{ // showClass 可以接收0个参数或1个参数 p /** * Created by PhpStorm. * User: funco * Date: 17-6-9 * Time: 下午1:39 */ public function __call($name, $arguments) { // 检查方法名称是否以 show 开头 if (strpos($name, 'show')===0) { // 处理参数 $params=[]; if (count($arguments) > 0) { $params[]=$arguments[0]; } // 输出结果 echo 调用方法: . $name . ( . implode(, , $params) . )\n; } else { // 如果不是重载方法,则抛出错误 throw new Exception(方法不存在: . $name); } }}

// 测试$mulStat=new MulStat();$mulStat->showClass(); // 输出: 调用方法: showClass()$mulStat->showClass(1); // 输出: 调用方法: showClass(1)

本文实例讲述了php 使用 __call实现重载功能。

阅读全文