From bc673f3907f64d2946e75cf732ccf79866231f78 Mon Sep 17 00:00:00 2001 From: Raul Fraile Date: Mon, 7 Apr 2014 16:46:31 +0200 Subject: [PATCH 1/2] Fix function example in expression language component The is_string check needs to be part of the runtime code, not of the compilation code, because it needs to check that the argument is a string, not the compiled code to access it (which is always a string as it is source code --- components/expression_language/extending.rst | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/components/expression_language/extending.rst b/components/expression_language/extending.rst index e2678236d17..56147de15d8 100644 --- a/components/expression_language/extending.rst +++ b/components/expression_language/extending.rst @@ -35,11 +35,7 @@ This method has 3 arguments: $language = new ExpressionLanguage(); $language->register('lowercase', function ($str) { - if (!is_string($str)) { - return $str; - } - - return sprintf('strtolower(%s)', $str); + return sprintf('$result = (is_string(%1$s)) ? strtolower(%1$s) : %1$s; return $result;', $str); }, function ($arguments, $str) { if (!is_string($str)) { return $str; From db710c4c69091d00e9c041d06823e175fe577be3 Mon Sep 17 00:00:00 2001 From: Raul Fraile Date: Thu, 3 Jul 2014 23:14:42 +0200 Subject: [PATCH 2/2] Removed return statement --- components/expression_language/extending.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/expression_language/extending.rst b/components/expression_language/extending.rst index 56147de15d8..94762110bcd 100644 --- a/components/expression_language/extending.rst +++ b/components/expression_language/extending.rst @@ -35,7 +35,7 @@ This method has 3 arguments: $language = new ExpressionLanguage(); $language->register('lowercase', function ($str) { - return sprintf('$result = (is_string(%1$s)) ? strtolower(%1$s) : %1$s; return $result;', $str); + is_string(%1$s) ? strtolower(%1$s) : %1$s; }, function ($arguments, $str) { if (!is_string($str)) { return $str;