【发布时间】:2015-12-22 18:40:25
【问题描述】:
当我调用它自己的静态函数时,我想知道抽象 php 类中哪个关键字是正确的。
这是简化的代码,我已经测试了这两个关键字 - 两者都有效,但哪一个在技术上是正确的?
<?php
abstract class B extends A{
function a(){
self::b("test"); //'self::' vs '$this->'
}
static function b($string){
echo "test";
}
}
?>
据我了解,如果函数是静态的,它应该在自己的类中使用 self 来调用静态函数。此外,抽象意味着不能有该类的实例,所以 $this 不会是无效的,即使它在没有警告的情况下工作?
谢谢
这个问题与可能的重复问题不同,因为我使用的抽象类不能有自己的实例。我理解 self 和 this 之间的区别,但是在这种特定情况下使用哪一个是我试图找出的,因为这两种情况都有效。
【问题讨论】:
标签: php static this abstract self