Проблема с созданием экземпляра ObjectStorage

В моей модели предметной области есть свойство month который является ObjectStorage за billэлементы. Вот как выглядит модель предметной области:

    /**
     * establishment
     *
     * @var ObjectStorage<Bill>
     * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove")
     */
    protected ObjectStorage $month;

    public function __construct()
    {
        $this->setMonth(new ObjectStorage());
    }

Вот сеттер:

    /**
     * month setter
     *
     * @param ObjectStorage<Bill> $month
     * @return void
     */
    public function setMonth(ObjectStorage $month) : void
    {
        $this->month = $month;
    }

Печально phpstan показывает следующую ошибку:

Параметр #1 $ создание метода VIC\Ext\Domain\Model\StorageRoom::setMonth() ожидает итерабельность &TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage,
TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage.

Любая идея, что не так?

1 ответ

Как собрать конструкцию для phpstan:

/**
     * учреждение
     *
     * @var ObjectStorage<Счет>
     * @TYPO3\CMS\Extbase\Аннотации\ORM\Cascade("удалить")
     */
    защищенный $месяц;

    публичная функция __construct()
    {
        /** @var ObjectStorage<Bill> $objectStorageBill */
        $objectStorageBill = новое хранилище объектов();
        $this->setMonth($objectStorageBill);
    }

Другие вопросы по тегам