“static :: function()”是什么意思?
问题描述:
可能重复:
static::staticFunctionName()“static :: function()”是什么意思?
当它只是一个函数调用之前放在什么关键字static
是什么意思?代替班级名称。
像这样:
static::createKernel();
答
它有差不多与self
的含义相同,而是引用实际的类,而不是从中找到代码的类。从php.net例如:
<?php
class A {
const C = 'constA';
public function m() {
echo static::C;
}
}
class B extends A {
const C = 'constB';
}
$b = new B();
$b->m();
// output: constB
?>
它确实[晚期静态绑定](http://php.net/manual/en/language.oop5.late-static-bindings.php)。文档页面有一些简短的例子。 – Jon