返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中魔术方法call指的是什么意思
  • 137
分享到

php中魔术方法call指的是什么意思

2023-06-15 06:06:54 137人浏览 泡泡鱼
摘要

这篇文章主要介绍PHP中魔术方法call指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php __call是php魔术方法中的一个,当程序调用到当前类中未声明或没权限调用的方法时,就会调用__call方

这篇文章主要介绍PHP中魔术方法call指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php __call是php魔术方法中的一个,当程序调用到当前类中未声明或没权限调用的方法时,就会调用__call方法。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php魔术方法__call

__call是魔术方法中的一个,当程序调用到当前类中未声明或没权限调用的方法时,就会调用__call方法

class test{  public function emptyFunc(){    $getArgs = func_get_args();    $funcName = $getArgs[0];    //$params = array_slice($getArgs, 1);    //var_dump($params);  // this is params                    return $funcName . ' function is not exists';  }  public function __call($m, $params)  {     $arr[] = $m;     $arr = array_merge($arr, $params);     return call_user_func_array(array($this, 'emptyFunc'), $arr);  }  protected function nowToTest(){    return 'this is nowToTest';  }}$testObj = new test();var_dump($testObj->nowToTest('params1','params1'));//var_dump result => string(29) "nowToTest function is not exists"       如上test类中,nowToTest方法是存在的,但修饰这方法的是protected(保护),所以实例出来的对象没权限执行,这时就跑到__call中去了.       _call()有2个参数,第一个m是当前调用方法的名字,这里是'nowToTest',第二个m是当前调用方法的名字,这里是 ′ nowToTest ′

,第二个params是调用'nowToTest'方法时传入的参数。以数组的形式组合在$params中。

call_user_func_array(method,method,params)这个php方法的作用是调用 method方法,参数为method方法,参数为params,如果方法是在类中的话,就用上面那种数组形式调用就可以了,这里调用的是emptyFunc方法。 func_get_args()的作用是以数组形式获取传入的所有参数。而这些参数在__call中传入的,第一个参数就是方法名。所以最后返回的结果是

"nowToTest function is not exists"

以上是“php中魔术方法call指的是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: php中魔术方法call指的是什么意思

本文链接: https://lsjlt.com/news/278215.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中魔术方法call指的是什么意思
    这篇文章主要介绍php中魔术方法call指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php __call是php魔术方法中的一个,当程序调用到当前类中未声明或没权限调用的方法时,就会调用__call方...
    99+
    2023-06-15
  • php魔术指的是什么意思
    这篇文章主要介绍了php魔术指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php中魔术有两种意思,分别是:1、指魔术方法,PHP将所有以两个下划线开头的类方法保...
    99+
    2023-06-08
  • php中的魔术方法是什么意思
    这篇文章主要介绍“php中的魔术方法是什么意思”,在日常操作中,相信很多人在php中的魔术方法是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中的魔术方法是什么意思”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • php中魔术方法是什么
    这篇文章主要介绍了php中魔术方法是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类中的魔术方法PHP 魔术方法指的是在某些时刻会自动被...
    99+
    2024-04-02
  • sql中call是什么意思
    sql 中的 call 语句用于调用存储过程或函数。存储过程是一组预编译的 sql 语句,通常用于执行复杂的数据库操作。call 语句的语法为:call ([参数列表])。参数列表可以包...
    99+
    2024-05-12
  • oracle中call是什么意思
    oracle 中的 call 语句可用于调用存储过程或函数。它通过封装重复使用的代码、优化性能和封装数据访问来发挥作用。步骤包括:1. 定义存储过程或函数;2. 调用存储过程或函数。 ...
    99+
    2024-05-03
    oracle
  • php中=指的是什么意思
    小编给大家分享一下php中=指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中=符号是PHP中的基础赋值运算符,赋值形式如“z=x+y”,这意味...
    99+
    2023-06-21
  • php中.=指的是什么意思
    这篇文章主要为大家展示了“php中.=指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中.=指的是什么意思”这篇文章吧。php中“.=”表示赋值运算符,是字符串连接的意思,该运...
    99+
    2023-06-25
  • php中.= 指的是什么意思
    小编给大家分享一下php中.= 指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.=在php中是一种赋值运算符,用于连接两个字符串,比如表达式“a ....
    99+
    2023-06-26
  • php中header指的是什么意思
    这篇“php中header指的是什么意思”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php中header指的是什么意思”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-06
  • php中isset指的是什么意思
    这篇文章给大家分享的是有关php中isset指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。isset()是PHP中的一个用来检测变量是否声明的内置函数,其返回值为布尔类型。若变量不存在则返回FALS...
    99+
    2023-06-09
  • php中curd指的是什么意思
    这篇文章给大家分享的是有关php中curd指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php curd是操作数据库的专业术语,其意思分别是:1、Create,增加数据;2、update,更新数据;...
    99+
    2023-06-15
  • php中_post指的是什么意思
    小编给大家分享一下php中_post指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中_post是指“$_POST”变量,在PHP中该变量用于收...
    99+
    2023-06-14
  • php中vc11指的是什么意思
    这篇文章给大家分享的是有关php中vc11指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php vc11是指PHP的vc11版本,在用户下载VC11版本前,是需要先安装“VisualC++Redis...
    99+
    2023-06-14
  • php中route指的是什么意思
    这篇“php中route指的是什么意思”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php中route指的是什么意思”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下...
    99+
    2023-06-14
  • php中session指的是什么意思
    这篇文章主要介绍了php中session指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php中session是用于存储关于用户会话session的信息,或者更改...
    99+
    2023-06-14
  • php中static指的是什么意思
    小编给大家分享一下php中static指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php static是PHP中的一种关键字,使用static关键...
    99+
    2023-06-15
  • php中null指的是什么意思
    小编给大家分享一下php中null指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中null是的意思是“空”,是一个特殊标记通常用于表示一个变量...
    99+
    2023-06-22
  • php中rand指的是什么意思
    这篇文章将为大家详细讲解有关php中rand指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在php中,rand()函数代表生成随机整数的意思,语法为“rand(min,max)”;参数min...
    99+
    2023-06-22
  • PHP中construct指的是什么意思
    这篇文章主要介绍PHP中construct指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP中construct是指__construct()函数,该函数用于创建一个新的SimpleXMLElemen...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作