PHP5中魔术方法函数有哪几个,请举例说明各自

发布网友 发布时间:2022-04-28 02:50

我来回答

2个回答

懂视网 时间:2022-04-28 07:11

php5中魔术方法函数有:“__sleep”、“__wakeup”、“__toString”、“__construct”、“__destruct”、“__call”、“__get”、“__set”、“__isset”、“__unset”等。

推荐:《PHP视频教程》

php5中魔术方法函数

PHP5 中包含着很多的魔术方法,它们最典型的特点是都以双下划线 '__' 开头,这些魔术方法都是为了完成某些指定的功能而编写的。

  • __sleep,在 serialize() 序列化对象之前会调用这个函数。

  • __wakeup, 在 unserialize() 解序列化之前会调用这个函数。

  • __toString,当将对象转化为字符串的时候调用这个函数。

  • __construct,构造函数,当实例化一个对象的时候会调用此函数。

  • __destruct,析构函数,当对象实例被释放的时候调用。

  • __call,当调用类中没有的方法时候会调用这个函数。

  • __get,当访问一个类中没有的属性值时候调用。

  • __set,当设置一个类中没有的属性值时调用。

  • __isset,当调用外部的 isset() 函数检查类是否含有某个属性值时调用。

  • __unset,当删除类的某个属性值时调用。

  • __set_state,当时用var_export导出对象的属性和值的时候调用。

  • __clone,当复制某个累的实例的时候调用。

  • __autoload,当时用一个类而这个类还未被加载到页面中时会自动调用。

  • 魔术常量:

  • __LINE__: 返回当前行号;

  • __FILE__: 返回文件的完整路径和文件名,如果用在包含文件里面,则返回包含文件名,自 php4.0.2开始,__FILE__总是包含一个绝对路径,而在此前的版本有时候会包含一个相对路径

  • __FUNCTION__: 返回函数名称(自 php4.3.0新加的)。自php5起本常量返回该函数被定义时的名称,区分大小写,在php4中该值总是小写;

  • __CLASS__: 返回类的名称,自 php4.3.0新加的,自php5起本常量返回该类被定义时的名称,区分大小写,在php4中该值总是小写的;

  • __METHOD__: 返回类的方法名。

  • 热心网友 时间:2022-04-28 04:19

    网页链接

    __construct()//类每次实例化的时候调用

    __destruct()//类释放资源的时候调用 

    __call()//$this->method() method不存在的时候调用

    __callStatic()//new test()::method() method不存在的时候调用

    _get()//获取不可访问的类内部变量调用。包括private protected 和不存在的时候

    __set()///赋值不可访问的类内部变量调用。包括private protected 和不存在的时候

    __isset()//判断不可访问的类内部变量调用

    __unset()//删除不可访问的类内部变量调用

    __sleep()//序列化类的时候调用 serialize(new teset)

    __wakeup()//反序列化的时候调用unserialize(new teset) 

    __toString()// 字符串的方式调用类 echo new test();

    __invoke()//函数方式调用类test(2);

    __set_state()//var_export(类)调用

    __clone()//克隆的时候调用$obj2 = clone $obj;

    __debugInfo//var_mp(new test())调用

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com