php的__call函数是属于哪一类

php的__call() 函数是一个魔术函数,所谓php的魔术函数,简单的说就是在php中具有特定名称——都是用两个下划线开头的,并且php解释器会在运行到某一个时机的时候自动查找并运行的方法。

php的__call函数是属于哪一类

当我们调了一个不可以访问的成员方法时,__call魔术方法就会被调用.

不可以访问的成员方法的是指(1. 该成员方法不存在, 2. 成员方法是protected或者 private) (推荐学习:PHP视频教程)

我们就是希望,在类的外部直接调用不可访问的成员方法(private , protected).

立即学习“PHP免费学习笔记(深入)”;

案例说明

name = $name;            $this->hobby = $hobby;        }                //输出该对象的信息        public function showInfo(){                        echo '
 名字是 ' . $this->name;            foreach($this->hobby as $hobby){                echo '
 爱好有 ' . $hobby;            }        }        //会做算术题, 保护的        protected function getSum($num1, $num2){                        return $num1 + $num2;        }        //编写这个__call魔术方法, __call 魔术方法会接收到两个参数        /*            @param $method_name 就是函数名            @param $parameters 就是参数,类型是array        */        public function __call($method_name, $parameters){            //            echo '
 method_name = ' . $method_name;//            echo '
 $parameters 
';//            var_dump($parameters);                        //判断 $this 中是否有  $method_name 函数,有就返回true,否则返回false            if(method_exists($this, $method_name)){                return $this->$method_name($parameters[0], $parameters[1]);            }else{                return '没有你要调用的函数';            }                    }     }     $monk = new Monk('济公', array('no1'=>'腾云驾雾', 'no2'=>'喝酒'));     $monk->showInfo();     //当我们直接调用 protected 方法时,就会触发 __call 魔术方法     echo '
 结果是' . $monk->getSum(100, 200);

登录后复制

以上就是php的__call函数是属于哪一类的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2523462.html

(0)
上一篇 2025年3月5日 17:41:53
下一篇 2025年3月5日 17:41:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php的isset()和empty()的区别

    在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再出现。 顾名思义,empty() …

    2025年3月5日
    000
  • php单双引号的区别

    php单双引号的区别 php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。 例如: $foo = 2; echo “foo is $foo”; // 打印结果: foo is 2 ech…

    2025年3月5日
    200
  • apache如何配置php

    1、配置apache,以调用“php语言模块(引擎)”去执行该php代码。需要apache的主配置文件httpd.conf,其位置在:apache安装目录/conf/httpd.conf 2、找到“装载模块”的位置:并在这一系列的LoadM…

    2025年3月5日 编程技术
    200
  • apache2不能解析php

    问题表象:安装apache和php5后无法正在执行php代码,将php代码按文本格式直接输出。 解决方法: (1)安装libapache2-mod-php7.0模块 使用命令行: sudo apt-get install php7.0-my…

    2025年3月5日
    200
  • ajax怎么发送数据给php

    在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非常的简单的。 $.ajax({type: “P…

    2025年3月5日
    200
  • 500错误php

    php 新手在初期搭建完开发环境后,开发时出现语法错误时,服务器返回500 ( 服务器内部错误),而不是返回错误提示。 这时候需要对开发环境做一些配置,帮助你快速查找问题原因,定位问题,解决问题。 1、找到php的配置文件/etc/php.…

    2025年3月5日
    200
  • 2019学python还是php

    开课通知:【创想鸟】《第10期PHP线上培训班》正在报名中! php和python的简单比较 编程语言种类繁多,每种语言都有它们的独特的优势。开发者在对编程语言的进行选择时往往很讲究。因此,这篇文章将从各个角度对 PHP、Python 两种…

    2025年3月5日
    200
  • 2019php还有发展吗

    开课通知:【创想鸟】《第10期PHP线上培训班》正在报名中! php的发展前景分析 1、数据分析 这是TIOBE中最近的排行榜。 此排行榜只能作为反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。由…

    2025年3月5日
    200
  • 0基础学php还是java

    php和java的简单比较 现在市场上的电子商务软件基本上可归结为两大阵营,即PHP阵营和Java阵营。但对接触电子商务不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。 其实,PHP+ MySQL…

    2025年3月5日
    200
  • php单元测试有什么用

    php单元测试是个好办法,它提供了自动化测试的方法,使敏捷开发的自动化测试成为可能。  php与其他语言不太一样,单元测试需要自己安装和配置,相对麻烦一点,不过单元测试对于提高库的稳定性和健壮性还是非常给力的,下面教大家怎么配置PHP单元测…

    2025年3月5日
    200

发表回复

登录后才能评论