::和之间的区别

可能的重复: PHP中的:(双冒号)和 - >(箭头)有什么区别?
参考 - 这个符号在PHP中的含义是什么?

我对PHP很满意,但只有程序。 所以我决定开始学习面向对象。 我已经掌握了它,并且非常喜欢它。

在PHP.net上,我总是将面向对象看作mysqli::query

但是,我见过的每个示例都使用mysqli->query以及我一直使用的方法。

今天,我遇到了实际看到::在一个类的例子中使用。

所以现在,我的问题是, ::->之间有区别吗? 这与"'之间的区别是什么?


::用于调用静态方法, ->用于实例方法


::是“范围解析运算符”(也称为Paamayim Nekudotayim),通常用于执行静态(这意味着您将在类本身的上下文中调用方法,而不是对象)方法调用。 然而,这条规则有例外情况,比如试图从一个被覆盖的方法调用父方法:

parent::foo(); // uses same context as when the method itself was called

它也允许你引用类的静态属性,比如静态属性和常量。

ClassName::FOO; 
ClassName::$property = "bar";

- >用于引用实际对象实例中的属性或方法,并且总是需要运算符左侧的对象实例(如$ this)。

链接地址: http://www.djcxy.com/p/58011.html

上一篇: Difference between :: and

下一篇: > and ::