2015-12-30 35 views
1

例如:phpdoc如何声明返回类型是调用者?

class A { 
    static function model() { 
     $class = static::class; 
     return new $class; 
    } 
} 

class B extends A { 
    var $var; 
} 

我能告诉编辑代码B::model()返回类型为调用者,而不是别人?我试过@return self不行!

+0

如果你使用将静态变为公开我们可以做到这一点。 –

回答

0

您可以使用下面的代码:

class A { 
    public function model() { 
     $class = static::class; 
     return new $class; 
    } 
} 

class B extends A { 
    /** 
    * @return B 
    */ 
    public function model(){ 
     return parent::model(); 
    } 
    var $var; 
} 
0
class A { 
    /** 
    * @return static 
    */ 
    static function model() { 
     $class = static::class; 
     return new $class; 
    } 
} 

class B extends A { 
    var $var; 
} 

您也可以尝试@return $this,它将在PHPStorm工作,尽管语义应该在非静态上下文仅

相关问题