广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中有哪些魔幻方法
  • 173
分享到

php中有哪些魔幻方法

2023-06-20 12:06:00 173人浏览 八月长安
摘要

今天就跟大家聊聊有关PHP中有哪些魔幻方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。魔幻方法有:“__construct()”、“__destruct()”、“__set()”、

今天就跟大家聊聊有关PHP中有哪些魔幻方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

魔幻方法有:“__construct()”、“__destruct()”、“__set()”、“__get()”、“__isset()”、“__unset()”、“__sleep()”、“___wakeup()”、“__call()”等等。

php魔幻(术)方法

面向对象编程中,php 提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利,在 PHP 中的作用是非常重要的。PHP 中的魔术方法通常以__(两个下划线)开始,并且不需要显式的调用而是在某种特定条件下自动调用的。

魔术方法作用
__construct()实例化类时自动调用
__destruct()类对象使用结束时自动调用
__set()在给未定义的属性赋值时自动调用
__get()调用未定义的属性时自动调用
__isset()使用 isset() 或 empty() 函数时自动调用
__unset()使用 unset() 时自动调用
__sleep()使用 serialize 序列化时自动调用
__wakeup()使用 unserialize 反序列化时自动调用
__call()调用一个不存在的方法时自动调用
__callStatic()调用一个不存在的静态方法时自动调用
__toString()把对象转换成字符串时自动调用
__invoke()当尝试把对象当方法调用时自动调用
__set_state()当使用 var_export() 函数时自动调用,接受一个数组参数
__clone()当使用 clone 复制一个对象时自动调用
__debugInfo()使用 var_dump() 打印对象信息时自动调用

下面简单介绍几个常用的魔术方法:

__set() 方法

在为当前环境下未定义或不可见的类属性赋值时,会自动调用 __set() 方法。定义该方法的语法格式如下:

public function __set($key, $value){    ... ... ;}

其中,参数 $key 是要操作的变量名称,$value 为变量 $key 的值。

__get() 方法

在调用或获取当前环境下未定义或不可见的类属性时,会自动调用 __get() 方法,定义该方法的语法格式如下:

public function __get($name){    ... ... ;}

参数 $name 为要操作的变量名称。

__isset() 方法

当在类外部对类中不可访问或不存在的属性使用 isset() 或 empty() 函数时,会自动调用 __isset() 方法,该方法的语法格式如下:

public function __isset($name){    ... ... ;}

参数 $name 为要访问的属性名称。

isset() 函数可以检查一个变量是否存在并且不为 NULL,传入一个变量作为参数,如果传入的变量存在则传回 true,否则传回 false。

empty() 函数可以检查一个变量是否为空,同样需要传入一个变量作为参数,如果变量并不存在,或者变量的值等于 FALSE,那么这个变量会被认为不存在。

类中的公有成员可以在类外访问,而私有成员则无法在类外访问。也就是说,我们可以使用 isset() 或 empty() 函数来检查类中的公有属性是否存在,而对类中的私有属性这两个函数就无效了。

如果想要使用 isset() 或 empty() 函数对类中的私有属性进行检测的话,我们只需要在类中添加一个 __isset() 方法就可以了,当在类外部使用 isset() 或 empty() 函数时,会自动调用类里面的 __isset() 方法。

__unset() 方法

当在类外部对类中不可访问或不存在的属性使用 unset() 函数时,__unset() 方法会被自动调用,该方法的语法格式如下:

public function __unset($name){    ... ... ;}

参数 $name 为要访问的属性名称。

我们先来看一下 unset() 函数,unset() 函数的作用是删除指定的变量,需要传入一个或多个变量作为参数,另外,该函数没有返回值。

同样,我们也可以使用 unset() 函数在类外部去删除类中的成员属性。与上面介绍的 __isset() 方法相似,如果要删除类中的公有属性的话直接使用 unset() 函数即可;如果要删除类中的私有属性的话,则需要在类中添加一个 __unset() 方法。

__call() 方法

当调用类中一个不可访问或不存在的方法时,__call() 方法会被调用。该方法的语法格式如下:

public function __call($name, $arguments){    ... ... ;}

其中,$name 为要调用的方法名称,$arguments 为传递给 $name 的参数所组成的数组。

当调用的方法不存在时会自动调用 __call() 方法,程序会继续执行下去,从而可以避免当调用方法不存在时产生错误所导致的程序终止。

__clone() 方法

可以使用 clone 关键字复制对象,当复制完成时,如果定义了 __clone() 方法,则新创建的对象(复制生成的对象)中的 __clone() 方法会被自动调用,通过该方法我们可以做一些必要的操作。__clone() 方法的语法格式如下:

public function __clone(){    ... ... ;}

看完上述内容,你们对php中有哪些魔幻方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网PHP编程频道,感谢大家的支持。

--结束END--

本文标题: php中有哪些魔幻方法

本文链接: https://www.lsjlt.com/news/296658.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php中有哪些魔幻方法
    今天就跟大家聊聊有关php中有哪些魔幻方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。魔幻方法有:“__construct()”、“__destruct()”、“__set()”、...
    99+
    2023-06-20
  • PHP有哪些魔术方法
    这篇文章主要为大家展示了“PHP有哪些魔术方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP有哪些魔术方法”这篇文章吧。PHP是一门非常优秀的脚本编程语言,与其它编程语言有一个非常不同的地...
    99+
    2023-06-04
  • php中魔术方法都有哪些
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在面向对象编程中,PHP 提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利,在 PHP 中的作用是非常重要的。PHP 中的魔术方法通常以__(两个下划线)开始,...
    99+
    2021-12-03
    php 魔术方法
  • php语言中有哪些魔术方法
    这篇文章主要介绍php语言中有哪些魔术方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php魔术方法有:“__set()”、“__get()”、“__isset()”、“__unset()”、“__sleep()”...
    99+
    2023-06-22
  • Python中魔法方法有哪些
    Python中魔法方法有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python提供的魔法方法 魔术方法这里按照不同的类别有如下分类,用个表格给大家列举出来:看完上述内容...
    99+
    2023-06-19
  • Python中的魔法方法有哪些
    Python中的魔法方法:1.__del__方法常用于明确销毁某个对象;2.__init__()方法常用于初始化实例对象;3.__new__()方法可以定义一个对象的初始化操作;Python中的魔法方法有以下几种__del__方法__del...
    99+
    2022-10-20
  • python魔法方法有哪些
    本篇文章给大家分享的是有关python魔法方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WE...
    99+
    2023-06-14
  • php魔法函数有哪些
    php中常见的魔法函数有以下几种__call()php中__call()函数的作用是当使用对象调用方法时,若方法存在,直接调用,若不存在,则调用__call()函数。__get()php中__get()函数的作用是当读取一个对象的属性时,若...
    99+
    2022-10-08
  • python魔术方法有哪些
    python魔术方法有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、类和对象通俗理解:类就是模板,对象就是通过模板创造出来的物体类(Class)由3个部...
    99+
    2023-06-15
  • php7有哪些魔术方法
    本篇内容介绍了“php7有哪些魔术方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php7魔术方法有:1、“__constract”方法;...
    99+
    2023-06-22
  • 常见的PHP魔术方法类有哪些
    这篇文章主要讲解了“常见的PHP魔术方法类有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的PHP魔术方法类有哪些”吧!__construct()方法__construct()方法是...
    99+
    2023-07-05
  • php中的魔术方法有哪些及怎么用
    这篇文章主要讲解了“php中的魔术方法有哪些及怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中的魔术方法有哪些及怎么用”吧!php中魔术方法详解,在php中有一类方法,很奇怪常,...
    99+
    2023-06-30
  • php魔术方法有哪些及怎么使用
    这篇文章主要介绍“php魔术方法有哪些及怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php魔术方法有哪些及怎么使用”文章能帮助大家解决问题。PHP中以双下划线“__”开始命名的内置方法被称...
    99+
    2023-07-04
  • 常用的Python魔法方法有哪些
    这期内容当中小编将会给大家带来有关常用的Python魔法方法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、算数运算符的魔法方法python2.2以后,对类和类型进行了统一,做法就是讲int()、...
    99+
    2023-06-15
  • python中有哪些常用的魔术方法
    这篇文章将为大家详细讲解有关python中有哪些常用的魔术方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比...
    99+
    2023-06-14
  • JavaScript中有哪些魔法运算符
    JavaScript中有哪些魔法运算符?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,基于...
    99+
    2023-06-14
  • C语言魔方阵的实现方法有哪些
    这篇文章主要介绍C语言魔方阵的实现方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!魔方阵:把1到n*n排成n行n列方阵,使方阵中的每一行、每一列以及对角线上的数之和都相同,即为n阶魔方阵。根据魔方阵的规律,我...
    99+
    2023-06-21
  • php魔术方法有什么用
    这篇文章将为大家详细讲解有关php魔术方法有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php魔术方法的作用:1、【__construct()】实例化对象时自动调用;2、【__destruct()...
    99+
    2023-06-06
  • PHP中有哪些debug方法
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP常用的debug(调试)方式通过浏览器打印信息进行调试方法在代码中添加 echo、var_dump、print_r 和 exit,在浏览器中查看输出。优缺点优点:...
    99+
    2022-03-01
    php 调试
  • Python中有哪些常用的魔法命令
    这篇文章给大家介绍Python中有哪些常用的魔法命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。基础常识 ?和?? ->例:%matplotlib、%matplotlib后缀为可以获取一个对象的相关信...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作