Ошибка псалма для вызываемого параметра 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
.