zoukankan      html  css  js  c++  java
  • 魔术方法

    重载:

    PHP中提供的重载,是指动态的创建类属性和方法。我们是通过魔术方法来实现的。

    所有的重载方法都必须被声明为public

    1.魔术方法的特点:

      以两个_ _开头,目前有十五个魔术方法。构造函数和析构函数是特殊的方法,也是魔术方法,自己以_ _开头,所创建的类函数并不是魔术方法。

    __construct():构造函数

     __destruct():析构函数

    1. __get() 读取不可访问属性的值时,__get()魔术方法被调用

               __get()方法里面只接收一个参数,接收一个$name的值,参数$name主要是指 的是操作的变量名称

     

          

    __get():代码实例:

     

    效果:

    __get()方法的特点:

     

    __get魔术方法,当在类的外部调用不能直接访问的属性时,该函数方法被自动调用

    ②下面的格式是该魔术方法的标准形式,不能改变

     

    ③魔术方法必须是公共的(public),且不能定义为静态的(static)除__callStatic以外

    get方法必须有返回值,所以最后结束的肯定是return语句

    $name被访问的属性的名称必须是一个字符串

    1. __set():当给不可访问的属性赋值时,__set()方法会被自动调用

     

    __set($name,$value)方法里面接收两个参数,$name指的是操作变量的名称,$value指定了$name的值

    魔术方法__set(),当设置类中的不能直接访问的属性时,自动调用该函数

    __set不需要返回值

    下面的格式是该魔术方法的标准形式,不能改变

    代码实例:

     

    效果:

     

    Property_exists():检查对象或者类里面是否具有该属性,该函数接收两个参数(这是一个bool函数)

    1. __unset():将变量置空

         __isset():  检查是否存在某一个变量

    1. __call()

    在对象中调用一个不能直接访问的非静态

      __callStatic()

    在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用。 

    1. __toString():一个类被当做字符串时应怎样回应,将数组转化成字符串输出

    魔术方法,当以字符串格式输出类的对象时,默认被自动调用

    例如 echo $obj; 应该显示些什么。此方法必须返回一个字符串,否则将发出一条 E_RECOVERABLE_ERROR 级别的致命错误。

    该函数方法结束必须有一个return语句,且返回的值必须是字符串

    __toString()必须返回一个字符串的内容

     

    1. __clone():对象复制

       $copy_of_

  • 相关阅读:
    IOS 面试题(不断更新...)
    IOS 数字日期转化为字符串
    C#汉字生成简拼
    ObjectiveC 深浅拷贝
    数组遍历方法forEach 和 map 的区别
    COJ1174(Shining Gems)
    POJ1062(昂贵的聘礼)
    HDOJ1879(继续畅通工程)
    最短路径经典题集(转载)
    HDOJ1863(畅通工程)
  • 原文地址:https://www.cnblogs.com/123456xfxf/p/7226369.html
Copyright © 2011-2022 走看看