PHP语法糖->,::和=>
双冒号:: 是作用域限定操作符(Scope Resolution Operator),左边是作用域,右边是访问作用域的成员。可以用于访问静态成员、方法和常量,还可以用于覆盖类中的成员和方法。也就是意味着调用冒号的左边这一部分调用冒号的右边这一部分。这样一个含义。so。。左边不能写self。因为self。因为self。因为self先解析,除非前面就定义了$self这个变量是指向自己的。
在PHP中定义作用域的有self和parent,在PHP6中提供了static作用域。self:表示当前类的作用域,不能在类之外的代码使用self,在扩展类中使用self时,它调用的不是父类的方法,而是扩展类的重载方法。parent:表示当前类父类的作用域。
‘- >’符号是“插入式解引用操作符”(infix dereference operator)。用箭头操作符->时,必须要将类进行实例化(当然在类的内部调用也可以)。
总的来说:类的静态方法和静态变量是类公用的,不需要实例化也能访问,而对象的方法和属性是每个对象特有的,因此必须先实例化,就是普遍的OOP思想。
比较粗浅地对比:- > 是访问对象的方法和属性,::是访问类的静态方法和静态变量。但是默认配置中,php并没有严格要求 :: 一定调用的是static方法。
比较精辟的对比:->对象访问 和 ::位置访问。
=>的用法很简单,就是数组(array)中数组键单元的对应赋值。其中数组键可以是默认的整数,也可以是自己命名的。
Ref:
https://www.php.cn/php-weizijiaocheng-372121.html
https://www.php.cn/php-weizijiaocheng-378631.html
6803

被折叠的 条评论
为什么被折叠?



