PHP几种常见魔术方法解析

栏目: PHP · 发布时间: 5年前

内容简介:先不多说,直接上代码,如下:运行结果:方法总结:

先不多说,直接上代码,如下:

class Demo
{
    private $str = 'str';
   
    //实例化时自动加载function
    public function __construct()
    {
        echo "start<br/>";
    }

    //__call()用来获取没有定义的function
    public function __call($name, $arguments)
    {
        echo $name.'_call<br>';
    }

    //获取私有变量
    public function __get($name)
    {
        // TODO: Implement __get() method.
        echo $this->$name.'_get<br/>';
    }

    //通过关键字 clone 克隆一个对象时该对象调用__clone()方法
    public function __clone()
    {
        // TODO: Implement __clone() method.
    }

    //__set()设置私有变量的值
    public function __set($name, $value)
    {
        // TODO: Implement __set() method.
        $this->$name = $value;
    }

    //————callStatic()调用没有被定义的static静态function
    public static function __callStatic($name, $arguments)
    {
        // TODO: Implement __callStatic() method.
        echo $name.'_classStatic';
    }

    //删除类对象时候自动调用
    public function __destruct()
    {
        // TODO: Implement __destruct() method.
        echo "end";
    }


}

$class = new Demo();
$class->success();
$class->succ = 111;
echo $class->succ;
echo $class->str;
echo '<br>';
$obj = clone $class;
print_r($obj);
echo '<br>';
$class::end();

运行结果:

start
success_call
111str_get

clone
Demo Object ( [str:Demo:private] => str [succ] => 111 ) 
end_classStatic
endend

方法总结:

  1. __set(),__get(),__isset(),__unset()可以归之为一类,适用于私有变量的设置、取值、判断、删除的操作。
  2. __construct()构造函数,__desctruct()析构函数,实例化类的时候就会产生,有一点不同,构造在最前面,
    析构函数在最后面
  3. 当调用class中没有定义的方法时,会报错fail error,如果class中定义了__call(),会直接调用__call()方法进行操作。
    例如:$class->success('data');类中的__call方法开始执行把参数转换为数组形式array([0] => 'data');

__callStatic()方法同理,只是对没有定义的静态方法起作用。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

王牌创业者:风口游戏

王牌创业者:风口游戏

澈言 / 百花洲文艺出版社 / 2018-2 / 48.00

《王牌创业者:风口游戏》是一部围绕互联网创业展开的商战小说:故事的主人公莫飞是“毕业即创业”的当代年轻创业者的典型代表,他大学在校时就凭借创业项目拿到了天使融资,创业几年后,当产品估值越做越大时,他却忽然遭遇创业伙伴及投资人的联手陷害,失去了自己一手建立的公司。 此时, 莫飞的女友林姿参加了一场声势浩大的创业比赛,并一举夺魁,直进决赛。可在决赛中,突如其来的一场新闻事件让她名誉扫地。最终,为......一起来看看 《王牌创业者:风口游戏》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具