全网整合营销服务商

营销型网站+SEO优化+关键词快排=一站式服务

免费咨询热线:15959292472

「邳州市网站搭建公司哪家好」php中的类魔术方法有哪些

  

 

  php中的类魔术方法有:1、__sleep,返回一个包含对象中所有应被序列化的变量名称的数组;2、__tostring,返回一个类被当作字符串时要输出的内容;3、Python教程__construct,构造方法;4、__destruct,析构方法。

  

 

  在PHP中将所有以双下划线(__)开头的类方法保留为魔术方法。

  (推荐教程:php图文教程)

  下面我们来看看都有哪些魔术方法:

  1、__sleep:返回一个包含对象中所有应被序列化的变量名称的数组。

  serialize函数在序列化类时首先会检查类中是否存在__sleep方法。如果存在,会先调用此方法然后再执行序列化操作,并且只对__sleep返回的数组中的属性进行序列化。如果__sleep不返回任何内容,则null会被序列化,并产生E_NOTICE级别的错误。

  __sleep不能返回父类的私有成员,否则会产生E_NOTICE级别的错误。对于一些很大但不需要保存全部数据的对象此方法很有用。

  2、__wakeup:与__sleep相反,是在unserialize函数反序列化时首先会检查类中是否存在__wakeup方法,如果存在会先调用次方法然后再执行反序列化操作。用于在反序列化之前准备一些对象需要的资源,或其他初始化操作。

  3、__tostring:返回一个类被当做字符串时要输出的内容,此方法必须返回字符串并且不能在此方法中抛出异常,否则会产生致命错误。

  在PHP5.2之前此方法只有在直接使用echo和print时才生效,之后则可以在任何字符串环境生效,「邳州市网站搭建公司哪家好」如果将一个未定义__toString方法的对象转换为字符串,会产生致命错误。

  (视频教程推荐:php视频教程)

  4、__invoke:PHP5.3起,当尝试以函数的方式调用对象时,会调用此方法。

  5、__set_state:PHP5.1起,当调用var_export函数导出类时,会调用此静态方法。此方法只有一个参数,是一个包含按属性为键,C#.Net教程属性值为值的数组。[SEO公司就选bm系统]CentOS将Redis配置为系统服务的方法,此方法可以用来控制哪些成员可以被导出。

  6、__debugInfo:PHP5.6起,当调用var_dump函数打印对象的属性时会调用此方法,此方法可以用来控制哪些属性可以被打印,如果没有定义此方法,则对象中所有的public、protected、private的属性都会被打印。返回一个包含可以被打印的属性的数组。

  7、__construct:构造函数。

  8、__destruct:析构函数。

  9、__set、__get、__isset、__unset:重载属性。

  10、__call、__callstatic:重载方法。

  11、__clone:对象复制。

  以上就是php中的类魔术方法有哪些的详细内容,更多请关注久澳传媒编程栏目其它相关文章!

「邳州市网站搭建公司哪家好」php中的类魔术方法有哪些

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。