美文网首页
php魔术方法及其意义

php魔术方法及其意义

作者: smallThree1 | 来源:发表于2018-05-21 21:18 被阅读8次

PHP提供了很多魔术方法,记录一下其中比较重要的几个

1.__get和__set

在对象调用不存在的属性时会去自动调用__get方法

在对象赋值不存在的属性或者权限不够的属性时会自动调用__set方法

2.__call和__callStatic

在对象调用不存在的或者权限不够的方法时会调用此类方法

3.__toString

在将对象作为字符串输出时会调用(例如echo $obj)

4.__invoke

在将对象作为函数输出时会调用(例如$obj())

魔术方法的意义:

在使用魔术方法的时候会觉得非常的方便和快捷,但是需要明白它们本质上还是为了更好的支持面向对象才出现的,例如PHP的面向对象天然不支持重载,但是利用魔术方法就可以实现类似重载的功能,如下:

class b

 public function __call($name, $args) 

 { 

         $res = 0;

        if($name=='test'){            

            $len = count($args);

            switch ($len){               

                     case 2:

                    $res = $args[0]+$args[1];

                    break;

                    case 3:

                    $res = $args[0]*$args[1]*$args[2];

            }        

    }        

    return $res;

    }

}

相关文章

  • php魔术方法及其意义

    PHP提供了很多魔术方法,记录一下其中比较重要的几个 1.__get和__set 在对象调用不存在的属性时会去自动...

  • PHP面试梳理

    PHP php 魔术方法 、魔术常量 php cli autoload , spl_autoload compos...

  • PHP魔术方法

    PHP魔术方法

  • PHP 的魔术方法及其应用

    PHP中将所有__(两个下划线)开头的类方法作为魔术方法,这方法之所以称为魔术方法是因为其实现的功能就如变魔术一样...

  • PHP魔术方法

    魔术方法(Magic methods) PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了...

  • 规则引擎升级版(直接能跑)

    利用了php的魔术方法

  • PHP常用魔术方法

    参考链接:PHP之十六个魔术方法详解

  • PHP简明教程-面向对象基础 1

    PHP简明教程 面向对象基础 1 类中魔术方法 类中魔术方法不能被手动调用,几乎每个魔术方法都有触发时机和参数,P...

  • PHP 魔术方法

    PHP中魔术方法 __construct__destruct__set__get__isset__unset 下面...

  • PHP魔术方法

    总的来说, 有下面几个魔术函数__construct() __destruct() __get() __set(...

网友评论

      本文标题:php魔术方法及其意义

      本文链接:https://www.haomeiwen.com/subject/dkoqjftx.html