簡體   English   中英

PHPDoc的參數必須是實現接口的特定類

[英]PHPDoc for a parameter that must be a specific class implementing an interface

如何為必須是特定類(或子類)並且必須實現接口的參數編寫PHPDoc?

class Animal{
    public function name();
}

interface IsCute{
    public function cuddles();
}

/**
 * @param Animal<IsCute> $animal must be a subclass of Animal and also implements IsCute
 */
function cuddlyAnimal(Animal $animal){
    $animal->cuddles();
}

在上面的示例中,我有一個AnimalClass,其中包含許多潛在的子類,如Dog,Cat,Salmon,Bluejay。

我的課程結構如下:

  • Animal
    • Mammal
      • Dog implements IsCute
      • Cat implements IsCute
    • Fish
      • Salmon
    • Bird
      • Bluejay implements IsCute

DogCatBluejay實現IsCuteSalmon則沒有。 我想要一個cuddlyAnimal的PHPDoc,它需要Animal類和IsCute接口。

嘗試這個:

/**
 * @param IsCute|Animal $animal must be a subclass of Animal and also implements IsCute
 */
function cuddlyAnimal(IsCute $animal){
    $animal->cuddles();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM