Ошибка псалма для вызываемого параметра TwigFilter

Я получаю эту ошибку из псалма для расширения веточки:

ОШИБКА: InvalidArgument - src/Twig/CartExtension.php:44:17 - Аргумент 2 конструкции Twig\TwigFilter::__ ожидает вызываемый |null, предоставлен массив {App\Twig\CartExtension&static, string(getOfferDate)}

Рассматриваемый код:

public function getFilters(): array
    {
        return [
            new TwigFilter(
                'get_offer_date',
                [$this, 'getOfferDate']
            )
        ];
    }

А подпись TwigFilter

/**
 * @param callable|null $callable A callable implementing the filter. If null, you need to overwrite the "node_class" option to customize compilation.
 */
public function __construct(string $name, $callable = null, array $options = [])
...

Документы twig рекомендуют этот формат

[$this, 'getOfferDate']

для вызываемого: https://symfony.com/doc/current/templating/twig_extension.html

Как я могу исправить эту ошибку псалма или сказать псалму, чтобы он ее принял?

1 ответ

Решение

Метод getOfferDate()должен быть создан внутри класса. В вашем случае внутри классаCartExtension.

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