zoukankan      html  css  js  c++  java
  • 常用魔术方法使用例子

    设置了魔术方法 __set__get 后,可以通过new实例化类,然后直接通过 实例化的对象调用( $test->属性=值) 设置属性的值,通过实例化的对象调用( $test->属性)获取某个属性的值。

    设置了魔术方法__isset后,外部可以用 isset($test->abc)方法判断 abc 私有属性是否被定义。

    设置了魔术方法__unset后,外部可以用 unset($test->abc)方法删除 abc 私有属性。

    设置了魔术方法__call后,当外部调用了一个不存在的方法 go() 后,系统不会报错,而是自动调用了 __call魔术方法,__call方法参数(方法名,外部传入的参数)

    输出结果:

    设置了魔术方法__callStatic后,当外部调用了一个不存在的静态方法 go() 后,系统不会报错,而是自动调用了 __callStatic魔术方法,__callStatic方法参数(方法名,外部传入的参数) ,   输出结果跟上个例子一样。

    设置了魔术方法__invoke后,你可以把对象当成函数来使用,使用的时候,自动调用了 __invoke()魔术方法。

    设置了魔术方法__toString后,当你使用打印函数(echo,var_dump) 打印类变量($test)的时候,会自动调用 __toString魔术方法。

  • 相关阅读:
    HDU 1058 Humble Numbers
    HDU 1421 搬寝室
    HDU 1176 免费馅饼
    七种排序算法的实现和总结
    算法纲要
    UVa401 回文词
    UVa 10361 Automatic Poetry
    UVa 537 Artificial Intelligence?
    UVa 409 Excuses, Excuses!
    UVa 10878 Decode the tape
  • 原文地址:https://www.cnblogs.com/xie-xiao-chao/p/7887672.html
Copyright © 2011-2022 走看看