У меня есть вопрос об определенном типе возвращаемого значения в абстрактном классе.Является ли @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")
}
}
}