php || 魔术方法

在这里插入图片描述
例子:

<?php
        class Test{
    
    

                //__cal调用了一个未定义的方法时,自动运行该方法,$funName返回方法名,$params返回方法的参数
                function __call($funName,$params){
    
    
                        var_dump($funName,$params);
                        echo "你调用了一个未定义的方法";
                }

                //__get调用了一个未定义的属性,自动运行该方法,$valueNama返回属性名
                function __get($valueName){
    
    
                        var_dump($valueName);
                        echo "你调用了一个未定义的属性";
                }

                //__set,给一个未定义的属性赋值了,自动运行该方法,$pName返回属性名,$value返回属性值
                function __set($pName,$pvalue){
    
    
                        var_dump($pName,$pvalue);
                        echo "你给一个未定义的属性赋值了";
                }
        }

        $ob = new Test();

        //调用了一个未定义的方法fun1()
        $ob->fun1(1,2,3);
        echo "<hr/>";

        //调用了一个未定义的属性a
        $ob->a;
        echo "<hr/>";

        //给一个未定义的属性a赋值123
        $ob->a=123;
?>

图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45703155/article/details/107726648