PHP new static($variable)
发布时间:2020-12-13 13:36:41 所属栏目:PHP教程 来源:网络整理
导读:$model = new static($variable); 所有这些都在一个类中的方法内,我试图在技术上理解这段代码的作用.我在Google世界里跑来跑去.但找不到任何可以让我得到答案的东西.这只是另一种说法. $model = new static $variable; 还怎么样呢 $model = new static; 这是
$model = new static($variable); 所有这些都在一个类中的方法内,我试图在技术上理解这段代码的作用.我在Google世界里跑来跑去.但找不到任何可以让我得到答案的东西.这只是另一种说法. $model = new static $variable; 还怎么样呢 $model = new static; 这是否意味着我正在初始化变量并将其值设置为null但是我只是在运行方法后保持变量不丢失值?
static在这种情况下表示当前对象范围.它用于后期静态绑定.
通常这与使用self相同.它不同的地方是当你有一个对象层次结构时,在父级上定义对范围的引用,但是在子对象上调用它.在这种情况下,self会引用父母范围,而static会引用孩子的范围 class A{ function selfFactory(){ return new self(); } function staticFactory(){ return new static(); } } class B extends A{ } $b = new B(); $a1 = $b->selfFactory(); // a1 is an instance of A $a2 = $b->staticFactory(); // a2 is an instance of B 将self视为定义范围并将static视为当前对象范围是最容易的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |