问题描述
在某一个php框架的源码里,看见这种取值写法
class A{
public static $_conf = null;
public static function test()
{
$conf = &A::$_conf;
}
}
通过&A::$_conf的方式获取值,并且赋值,这种方式的优点是什么,跟
self::$_conf
static::$_conf
A::$_conf
这几种写法的区别是什么?
在某一个php框架的源码里,看见这种取值写法
class A{
public static $_conf = null;
public static function test()
{
$conf = &A::$_conf;
}
}
通过&A::$_conf的方式获取值,并且赋值,这种方式的优点是什么,跟
self::$_conf
static::$_conf
A::$_conf
这几种写法的区别是什么?
2 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答857 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答916 阅读
1 回答902 阅读
1 回答833 阅读
&
表示按引用赋值,和你说的内容不相关。直接用类名是用来在类定义外访问类常量/静态属性/静态方法的。
使用
self
则是用来在类定义中访问当前类(也就是自己)的类常量/静态属性/静态方法的。使用
parent
则是用来在子类的定义中访问父类的类常量/静态属性/静态方法的。还有个用处,就是如果在子类中覆盖了父类的方法,那么可以用parent
来访问被覆盖掉的父类方法。而
static
是用于后期静态绑定的。这方面比较复杂,一两句话说不清,请查阅相关资料吧。