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.4/Symfony/Component/ExpressionLanguage/ExpressionFunction.html