@kedavr13

Аннотация возвращаемого значения @return?

Внутри функции получаю вот такой вот массив
$productsInfo['cart'][$orderId]['face'] = int;
        $productsInfo['cart'][$orderId]['name'] = string;
        $productsInfo['cart'][$orderId]['id'] = int;
        $productsInfo['cart'][$orderId]['quantity'] = int;
        $productsInfo['cart'][$orderId]['discount_type'] = int|null;
        $productsInfo['cart'][$orderId]['discount'] = int|null;
        $productsInfo['email'] = string;

Пробовал написать аннотацию возвращаемого значения, но псалм не хочет пропускать никакой вариант кроме этого
/**
     * @return array{email: string, cart: array<array-key, array{discount?: int<min, max>|null,
     *     discount_type: 1|2|null, face: int, id: int, name: string, quantity: 1}>}
     */


Почему для discount пслам требует установить знак ? а так же тип int<min, max>|null а не просто discount: int|null?
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы