__callStatic()方法详解

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。

PHP中__callStatic(),用静态方式中调用一个不可访问方法时调用

此方法与上篇文章所说的__call()功能除了__callStatic()是未静态方法准备的之外,其它都是一样的。

请看下面代码:

<?php

class Person

{

    function say()

    {

        echo "Hello, world!<br>";

    }

    /**

     * 声明此方法用来处理调用对象中不存在的方法

     */

    public static function __callStatic($funName, $arguments)

    {

        echo "你所调用的静态方法:" . $funName . "(参数:" // 输出调用不存在的方法名

        print_r($arguments); // 输出调用不存在的方法时的参数列表

        echo ")不存在!<br>n"; // 结束换行

    }

}

$Person = new Person();

$Person::run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法

$Person::eat("小明", "苹果");

$Person->say();

运行结果如下:

你所调用的静态方法:run(参数:Array ( [0] => teacher ) )不存在!

你所调用的静态方法:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在!

Hello, world!

未经允许不得转载:PHP100中文网 - 中国第一档PHP资源分享门户 » __callStatic()方法详解

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏