加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 用户定义的魔术方法:什么是“记录的魔术功能”?

发布时间:2020-12-13 13:30:37 所属栏目:PHP教程 来源:网络整理
导读:我的问题很简单,这里是上下文: http://php.net/manual/en/language.oop5.magic.php Magic Methods The function names __construct() , __destruct() , __call() , __callStatic() , __get() , __set() , __isset() , __unset() , __sleep() , __wakeup() ,
我的问题很简单,这里是上下文:

http://php.net/manual/en/language.oop5.magic.php

Magic Methods

The function names __construct(),__destruct(),__call(),
__callStatic(),__get(),__set(),__isset(),__unset(),__sleep(),__wakeup(),__toString(),__invoke(),__set_state() and __clone() are magical in PHP classes. You cannot have functions with these names in
any of your classes unless you want the magic functionality associated
with them.

PHP reserves all function names starting with __ as magical. It is recommended that you do not use function names with __ in PHP unless you want some documented magic functionality.

我得到了这些方法的用途以及如何使用它们.我不明白的是:

…unless you want some documented magic functionality.

那有什么意思?是否有实际的原因来创建用户定义的__magicMethods()?

我认为它们只是意味着最好不要使用__作为你的方法的起始名称,因为PHP已经为他的魔法方法保留了这个约定,如果你将它用于一个方法,它可能在将来被覆盖并且有一些魔法功能.至少那是我理解的

编辑 – 更清楚:让我们说你为自己的业务逻辑实现一个名为__toNumber()的方法.在PHP的未来版本中,他们决定每当一个对象被用作数字时(可能当你执行$result = 3 * $yourObject)时,将调用魔术方法__toNumber()…你的对象会有一些“魔法”记录的功能,即使您没有专门添加它

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读