问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP中this,self和static的区别

发布网友 发布时间:2022-04-06 03:33

我来回答

1个回答

热心网友 时间:2022-04-06 05:03

PHP支持类和面向对象结构,PHP的类的静态函数和变量不与任何特定类的实例相关联(换句话说,一个对象)。

相反,静态函数和变量与类定义本身相关联。换言之,一个类的所有实例都共享相同的静态变量。在一个类的方法(函数)的上下文中,静态变量和函数被访问使用self::,在一个类的对象(实例)的上下文中使用其他方法和变量时用this。

静态函数只能使用静态变量,静态函数和变量的引用是通过 self::函数名() 和 self::变量名。上述实例中,静态变量的引用是由类名(exampleClass::$foo),或者 self:: (self::$foo),当在这个类的静态方法[称为 静态函数()]里使用时。类的正则函数和变量需要一个对象上下文来引用,他们不能脱离对象上下文而存在。对象上下文由 $this 提供。在上述函数中,$bar 是一个正则变量,所以它被 $obj->bar(上下文使用变量obj) 来引用,或者使用 $this->bar(再次在一个对象的方法里在一个对象上下文中) 来引用。

self 不使用前面的 $,因为 self 不意味着是一个变量而是类结构本身。而 $this 引用一个特定的变量,所以有前面的 $ 。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在公交车上实施扒窃,会受到怎样的处罚? 交通违法行为识别 公交车扒窃会如何处罚? 郑州鱼缸清洗找哪家公司做得比较好? 郑州有没有专业维修鱼缸,清洗鱼缸的? ...的鱼缸,放在办公室养些鱼水草之类的。郑州哪里有卖这样的鱼缸。_百... 我们公司想要定做个观赏鱼缸,不知道郑州哪家公司最专业? 谁知道郑州生态鱼缸定做哪家做的效果最好? 联想电脑启用无线功能的功能键? 笔记本电脑怎么连接网笔记本电脑怎样连接无线网 PHP中调用类方法时->和::的区别是什么? PHP中构造函数和方法有什么区别 thinkphp中的M方法与D方法有什么区别? PHP strcmp()和strcasecmp()的区别实例 thinkPHP中连接数据库实例化方法D和M的区别 PHP 中 创建对象 和实例化 有什么区别 php 生成多维数组并转换为json格式 php 怎么将数组变成json字符串 乱码 如何php将一个动态的数组转换为json的格式 PHP 二维索引数组怎么转化成json字符串数组? 新手求教php数组转换json格式 php数组怎样直接转化为json串 php怎么把数组转换成json格式化 小写金额如何转大写? 电脑开机就出现计算机意外重新启动或遇到意外错误要怎么办 电脑开机就出现计算机意外重新启动或遇到意外错误要怎么办? 网络连接出现意外错误怎么办?急急急 epic出现意外错误? 师父卡在加载 epic打开后出现错误,无法打开? 哪位高手谁知道PHP.INI文件的具体位置 php如何实现弹出层 PHP如何新窗口打开另一个页面? 如何在php网页代码中实现点击链接让网页从新窗口打开? 如何在php网页代码中实现点击链接让网页从新窗口打开 php如何制作弹出窗口(像点击登陆会在当前页面多处于一个登陆窗口) 如何用PHP做出弹出式登陆窗口? 我想在PHP页面做一个弹出的登陆页面或其他小窗口。 PHP 在新页面打开链接自动弹出新页面代码如何写? php自动弹出窗口代码 在php中弹出信息输入框的功能如何实现?类似下图: 如何删除对象中的属性,或数组中的元素 javascript如何去除对象的某个属性 php清除多个图片属性代码 如何删除object js删除对象属性问题 在java中通过什么方法将一个对象里面的属性移除,如果从数据库里面查询出来是空的就移除掉这 Python中isinstance()的用法? python 3 isinstance函数的用法,下面的代码如何解释? python当中isinstance()的作用以及用法,能详细的说说吗?谢谢