callStatic()用法

来源:2-9 PHP类和对象之重载

qq_兒_0

2018-06-24 17:03

<?php

class Car {

    public $speed = 10;

    public static $staVal=10;//静态变量

    //在这里使用重载实现speedDown方法

    public function __call($name,$args){

        if($name=='speedDown'){

            $this->speed-=10;

        }

    } 

//重载实现静态方法funSta()

    public static function __callStatic($name,$args){

        if($name=='funSta'){

            Car::$staVal=0;//把静态变量值变为0

        }

    }

}

$car = new Car();

Car::funSta();//调用不存在的静态方法 下面直接调用callStatic来实现

echo Car::$staVal;//输出为0 说明调用了callStatic()的内容

$car->speedDown(); //调用不存在的speedDown方法

echo $car->speed;


写回答 关注

1回答

  • 影子好怕黑
    2018-06-25 17:15:22

    good

    qq_兒_0

    just so so 哈哈哈 共同学习!

    2018-06-25 17:35:21

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题