PHP面向对象的魔术方法有哪些?

PHP面向对象的魔术方法有:__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、__sleep()等等。

PHP面向对象的魔术方法有哪些?

什么是魔术方法?

魔术方法指的是以__(两个下划线)开始,系统在特定的时机自动调用的方法。

PHP目前有15个魔术方法:

1、__construct(),构建对象的时被调用,常用于初始化

立即学习“PHP免费学习笔记(深入)”;

2、__destruct(),明确销毁对象或脚本结束或销毁显示时被调用

3、__call(),在对象中调用一个不能直接访问的非静态方法时,__call() 会被自动调用。

4、__callStatic(),用静态方式中调用一个不可访问方法时调用

5、__get(),当在类的外部调用不能直接访问的属性时,该函数方法被自动调用,必须有返回值,所以最后结束的肯定是return语句

6、__set(),当设置类中的不能直接访问的属性时,自动调用该函数方法,不需要返回值

7、__isset(),判断类中的属性是否被设置了,当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。返回布尔值

8、__unset(),对不可访问或不存在的属性进行unset时被调用

9、__sleep(),执行serialize()时,先会调用这个函数  方法常用于提交未提交的数据

10、__wakeup(),  经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作

11、__toString(),以字符串格式输出类的对象时,默认被自动调用,必须有一个return语句,且返回的值必须是字符串

12、__invoke(),  当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。

13、__set_state(),自 PHP 5.1.0 起当调用 var_export() 导出类时,此静态 方法会被调用。

14、__clone(),当对象复制完成时调用

15、__debugInfo(),打印所需调试信息

相关教程推荐:《PHP教程》

以上就是PHP面向对象的魔术方法有哪些?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2131573.html

(0)
上一篇 2025年2月24日 22:57:47
下一篇 2025年2月24日 22:58:00

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 前端和PHP的有区别吗?

    前端和PHP的有区别吗? 前端和PHP的有区别,PHP主要用于后端处理数据和操作数据,增删改查,而Web前端所包括的HTML、JS、CSS等用于把界面和数据显示给用户,其次就是语法各不相同,运行的环境或位置不同。 PHP和前端区别 一个后端…

    2025年2月24日
    000
  • PHP如何判断是文件夹还是文件?

    PHP如何判断是文件夹还是文件? 1、使用“is_file()”函数来判断是否为文件,如果是文件,其返回结果为true,否则为false; 使用示例 登录后复制 结果 立即学习“PHP免费学习笔记(深入)”; bool(true)bool(…

    2025年2月24日
    200
  • 工厂模式和抽象工厂模式的区别?

    工厂模式和抽象工厂模式的区别? 1、工厂模式在使用时可以随时设置变量,不用提前进行设置,抽象工厂模式则需要每次增加产品时,进行修改类方法; 2、工厂模式可以使用两个接口以及三个接口。 工厂模式 抽象工厂模式 推荐教程:《PHP》 以上就是工…

    2025年2月24日
    200
  • 如何解决curl php中文乱码问题

    curl php中文乱码的解决办法:首先打开相应的PHP代码文件;然后使用“mb_convert_encoding($res, ‘UTF-8’, ‘UTF-8,GBK,GB2312,BIG5’…

    2025年2月24日
    200
  • 如何解决mac php乱码问题

    mac php乱码的解决办法:首先创建一个文本文件命名为“my.cnf”;然后将内容改为“utf8[mysql]default-character-set=utf8”;接着将该文件放置在conf下;最后重启mysql服务器即可。 推荐:《P…

    2025年2月24日
    200
  • php字符串如何转换成时间

    php字符串转换成时间的方法:首先创建一个PHP示例文件;然后输入内容“$date3=date(‘Y-m-d H:i:s’,”1228348800″);”;最后执行该文件即可。 推荐:《PHP…

    2025年2月24日
    200
  • php如何去掉数组中的重复的元素

    php去掉数组中的重复元素的方法:首先创建一个PHP示例文件;然后定义一个“array_remove_value”方法;接着通过unset等函数进行删除;最后用删除数组前的key来操作相应的值即可。 推荐:《PHP教程》 方法一、完整删除重…

    2025年2月24日
    200
  • 如何解决php json中文转码问题

    php json中文转码的解决办法:1、升级PHP;2、使用“urlencode”函数对汉字进行处理,再使用“json_encode”函数进行编码;3、对unicode码再进行解码。 推荐:《PHP教程》 php 解决json_encode…

    2025年2月24日
    200
  • php如何实现报错提示

    php报错提示的实现方法:首先找到并打开“php.ini”文件;然后找到“display_errors”内容项;接着将其修改为“display_errors = On”;最后保存修改后的文件即可。 推荐:《PHP教程》 php 错误提示开启…

    2025年2月24日
    200
  • php url参数怎么替换

    php url参数替换的实现方法:首先创建一个PHP示例文件;然后使用“$_SERVER”方法获取传递过来的参数信息;最后通过“replace_var”方法替换参数信息即可。 推荐:《PHP教程》 PHP 替换url中参数 代码如下: 0)…

    2025年2月24日
    200

发表回复

登录后才能评论