Тип возврата комментария PHPDoc - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть вопрос об определенном типе возвращаемого значения в абстрактном классе.Является ли @return Travel [] массивом или классом?

Вторая проблема, которая возникает из-за этого, заключается в том, что я всегда получаю ошибку в строке: if (! Travel instanceof Travel), потому что он никогда не является экземпляромПутешествие.

Как это можно решить?

Я пытался.

Class Travel extends Action {
  protected function getTravel() {
    return ['UK', 'Italy', 'Spain'];
  }
}

abstract class Action {
/**
* @return Travel[]
*/
  abstract protected function getTravel(Vehicle $vehicle);
}

final public function call(Vehicle $vehicle) {
  $travels = $this->getTravel($vehicle);
  foreach ($travels as $travel) {
    if (!travel instanceof Travel) {
      throw new RuntimeException("This should not happen")
    }  
  }
}
...