博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中->和::有什么区别?
阅读量:6175 次
发布时间:2019-06-21

本文共 1124 字,大约阅读时间需要 3 分钟。

hot3.png

->用来访问实例的成员,一般左面是一个类实例(或者$this), 右面是一个函数或者属性. 箭头也可以通过类实例来访问静态函数.

::用来访问静态成员、常量,访问父类中的成员. 一般左面是一个类名,或selfparentstatic关键字, 右面是一个静态函数、静态属性、常量.

property;//访问实例的函数print $xxoo->func();//也可以借助实例来访问静态成员//访问函数要用箭头,属性要用双冒号print $xxoo->staticFunc();print $xxoo::$staticProperty;//如果不借助实例,那就直接用类名加双冒号print A::staticFunc();print A::constValue;//静态属性要加美元符号print A::$staticProperty;//继承类Aclass B extends A{ //覆盖父类的属性 public $property = "covered-properties\n"; //覆盖父类的静态属性 static public $staitcProperty = "covered-staitcProperties\n"; //覆盖父类的函数 public function func() { //访问自己的属性 print $this->property; //访问从父类继承来的静态属性 print self::$staticProperty; //访问自己的(静态)函数 print $this->staticFunc(); //强制指定访问父类(而不是自己)的函数 print parent::func(); } //覆盖父类的静态函数 static public function staticFunc() { //因为没有$this, 所以用self访问自己的静态属性 print self::$staitcProperty; }}//运行一下上面的例子$xxoo = new B;$xxoo->func();B::staticFunc();

总结:

箭头:通过实例访问属性、(静态)函数
双冒号:通过类名或selfparentstatic关键字,访问常量、静态属性、静态函数

PHP5.3新增后期静态绑定功能,和双冒号以及static关键字有关。

转载于:https://my.oschina.net/feanlau/blog/994618

你可能感兴趣的文章
NetBSD 8.1 RC1 发布
查看>>
12个必备的JavaScript装逼技巧
查看>>
域名备案图文教程
查看>>
iOS ScrollView上的view添加悬停效果
查看>>
Spring与MQ整合简单例子
查看>>
Apache-shiro学习
查看>>
React-Redux源码分析
查看>>
页面传递参数问题
查看>>
PHP FPM源代码反刍品味之五:信号signal处理
查看>>
5G网速真的有理论上那么高吗?
查看>>
Set添加自定义方法对象如何保证唯一性
查看>>
站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
查看>>
技术工坊|浅谈区块链的Layer2扩展(北京)
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
Apache和PHP结合 及 Apache默认虚拟主机
查看>>
添加自定义监控项目配置邮件告警测试告警不发邮件的问题处理
查看>>
solidity智能合约的经典设计模式
查看>>
华为交换网络基础、基本配置、STP/RSTP
查看>>
SpringCloud 微服务 (十七) 容器部署 Docker
查看>>
不定项选择题
查看>>