“static :: function()”是什么意思?

时间:2011-09-20 16:40:42

标签: php static

  

可能重复:
  static::staticFunctionName()

关键字static在函数调用之前放置的含义是什么?取而代之的是一个班级名称。

像这样:

static::createKernel();

2 个答案:

答案 0 :(得分:6)

这是一种调用Late Static Binding的方法。我不能比PHP手册本身更好地描述它。

答案 1 :(得分:1)

几乎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 
?>