PHP 魔术方法__call和__callStatic

PHP 5.3 后新增了 __call 与__callStatic 魔法方法。


用途:

__call:当要调用的方法不存在或权限不足时,会自动调用__call 方法。

__callStatic:当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。


示例:

__call($funcname, $arguments)

__callStatic($funcname, $arguments)


参数说明:

$funcname String 调用的方法名称。

$arguments Array 调用方法时所带的参数。


      在TP5里面,Db基类使用该方法在未继承Query操作类的情况下,手动实例Query类并调用其中方法完成操作。如:\think\Db::name('tableName'), 在Db类里并没有name这个静态方法,该方法存在于操作类Query.php里面且不是一个静态方法,而Db类也未继承该类。TP5在Db类中使用__callStatic方法重定向了这个方法,在__callStatic方法 里面实例化Query类并调用name方法完成操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 把当前目录作为Root Document只需要这条命令即可:php -S localhost:3300 也可以指定...
    绚烂的时光阅读 747评论 0 1
  • Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象...
    廖马儿阅读 2,197评论 2 38
  • 文/心灵摆渡人 如何打造个人品牌? 这部分借鉴一下前段时间在得到里面习得的一个精品课《如何打造个人品牌》的结构,我...
    心灵摆渡人Justin阅读 266评论 0 0
  • 行者不息阅读 208评论 0 0
  • 茫茫人海中谁遇见了你,你邂逅了谁,谁错过了你,你注意了谁,谁陪你走了一程,你陪谁过一生? 陪伴,一个简单纯...
    真爱无双阅读 377评论 0 2