ExpressionFunction
class ExpressionFunction
Представляет функцию, которая может быть использована в выражении.
Функция определяется двумя вызываемыми элементами PHP. Вызываемые элементы используются языком для компиляции и/или оценки функции.
Функция «компилятор» используется во время компиляции и должна возвращать PHP представление вызова функции (она получает аргументы функции в качестве аргументов).
Функция «оцениватель» используется для оценки выражения и должна возвращать значение вызова функции на основе значений, определённых для выражения (она получает значения в качестве первого аргумента и аргументы функции в качестве оставшихся аргументов).
Методы
| __construct(string $name, callable $compiler, callable $evaluator) | ||
| getName() | ||
| getCompiler() | ||
| getEvaluator() | ||
| static ExpressionFunction | fromPhp(string $phpFunctionName, string|null $expressionFunctionName = null) Создаёт ExpressionFunction из имени PHP функции. |
Подробности
__construct(string $name, callable $compiler, callable $evaluator)
Параметры
| string | $name | Имя функции |
| callable | $compiler | Вызываемый элемент, способный скомпилировать функцию |
| callable | $evaluator | Вызываемый элемент, способный оценить функцию |
getName()
getCompiler()
getEvaluator()
static ExpressionFunction fromPhp(string $phpFunctionName, string|null $expressionFunctionName = null)
Создаёт ExpressionFunction из имени PHP функции.
Параметры
| string | $phpFunctionName | Имя PHP функции |
| string|null | $expressionFunctionName | Имя функции выражения (по умолчанию: такое же, как имя PHP функции) |
Возвращаемое значение
| ExpressionFunction |
Исключения
| InvalidArgumentException | если заданное имя PHP функции не существует |
| InvalidArgumentException | если заданное имя PHP функции находится в пространстве имён, а имя функции выражения не определено |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/ExpressionLanguage/ExpressionFunction.html