@Blunker

Как сделать несколько возращаемых типов?

Установлен PHP 7.0.
Есть такой метод
public function getPhotoById(int $photoId) : PartnersPhotoModel
    {
        $criteria = new Criteria();
        $criteria->_and('id = :photoId', [':photoId' => $photoId]);

        return $this->findOne($criteria);
    }


Данный метод может вернуть и null. И интерпретатор на это ругается . Как задать второе возвращаемое значчение?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега PHP
♬♬
В PHP 7.1 можно ставить знак вопроса на случай что-то-или-null (Nullable RFC):

public function getPhotoById(int $photoId) : ?PartnersPhotoModel
Ответ написан
Комментировать
gromdron
@gromdron
Работаю с Bitrix24
Есть 3 способа решения Вашего вопроса:

1) Топрный: Не использовать указание возвращаемого типа функции
2) Костыльный: Сделать класс обертку на PartnersPhotoModel, который могла бы возвращать пустой объект данного класса
3) Прямой: при вызове $this->findOne($criteria); проверять есть ли значение, и в случае его отсутствия бросать исключение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы