-
Notifications
You must be signed in to change notification settings - Fork 9
fix: Payment\Sort использует msDelivery вместо msPayment в type hints #175
Copy link
Copy link
Open
Description
Описание
В src/Processors/Settings/Payment/Sort.php метод sort() имеет неправильные type hints параметров:
// Текущее (неправильно):
public function sort(msDelivery $source, msDelivery $target)
// Должно быть:
public function sort(msPayment $source, msPayment $target)Класс $classKey = msPayment::class, но type hints скопированы из Delivery/Sort.php.
Почему не ломается в runtime
xPDO getObject() возвращает xPDOObject, и PHP не проверяет type hints строго при передаче — msPayment и msDelivery оба наследуют от xPDOSimpleObject. Но это скрытый баг — IDE и PHPStan не видят реальный тип.
Что нужно сделать
- Изменить type hints:
sort(msPayment $source, msPayment $target) - Исправить PHPDoc
@param - Проверить что метод нигде не вызывается с явным
msDelivery - Убедиться что аналогичной проблемы нет в
Status/Sort.php(используетmsOrderStatus— корректно)
Обнаружено в PR #174.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels