2015-12-30 65 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工作,儘管語義應該在非靜態上下文僅

相關問題