Проверка выражения Symfony

Как я могу добавить пользовательскую функцию для проверки выражения Symfony. Например, я написал эти выражения: "value in array_keys(this.getValues())" и хочу добавить функцию array_keys.

Я создал пользовательский класс языка выражений

<?php
declare(strict_types=1);

namespace App\ExpressionLanguage;

use Symfony\Component\ExpressionLanguage\ExpressionFunction;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;

class ValidatorExpressionLanguage extends BaseExpressionLanguage
{
/**
* {@inheritdoc}
*/
protected function registerFunctions()
{
parent::registerFunctions();

$this->addFunction(ExpressionFunction::fromPhp('array_keys'));
}
}

но все равно есть ошибка. (

1

Решение

Постановили:

validator.expression:
class: Symfony\Component\Validator\Constraints\ExpressionValidator
arguments:
'$expressionLanguage': '@App\ExpressionLanguage\ValidatorExpressionLanguage'
tags:
- { name: 'validator.constraint_validator', alias: 'validator.expression' }
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector