aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md')
-rw-r--r--vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md144
1 files changed, 71 insertions, 73 deletions
diff --git a/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md b/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md
index 671ad8bb8..c0285d078 100644
--- a/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md
+++ b/vendor/smarty/smarty/docs/designers/language-basic-syntax/language-syntax-variables.md
@@ -1,99 +1,97 @@
-Variables {#language.syntax.variables}
-=========
+# Variables
-Template variables start with the \$dollar sign. They can contain
+Template variables start with the $dollar sign. They can contain
numbers, letters and underscores, much like a [PHP
-variable](&url.php-manual;language.variables). You can reference arrays
+variable](https://www.php.net/language.variables). You can reference arrays
by index numerically or non-numerically. Also reference object
properties and methods.
-[Config file variables](#language.config.variables) are an exception to
+[Config file variables](../language-variables/language-config-variables.md) are an exception to
the \$dollar syntax and are instead referenced with surrounding
-\#hashmarks\#, or via the
-[`$smarty.config`](#language.variables.smarty.config) variable.
+\#hashmarks\#, or via the [`$smarty.config`](../language-variables/language-variables-smarty.md#smartyconfig-languagevariablessmartyconfig) variable.
+## Examples
- {$foo} <-- displaying a simple variable (non array/object)
- {$foo[4]} <-- display the 5th element of a zero-indexed array
- {$foo.bar} <-- display the "bar" key value of an array, similar to PHP $foo['bar']
- {$foo.$bar} <-- display variable key value of an array, similar to PHP $foo[$bar]
- {$foo->bar} <-- display the object property "bar"
- {$foo->bar()} <-- display the return value of object method "bar"
- {#foo#} <-- display the config file variable "foo"
- {$smarty.config.foo} <-- synonym for {#foo#}
- {$foo[bar]} <-- syntax only valid in a section loop, see {section}
- {assign var=foo value='baa'}{$foo} <-- displays "baa", see {assign}
+```smarty
+{$foo} <-- displaying a simple variable (non array/object)
+{$foo[4]} <-- display the 5th element of a zero-indexed array
+{$foo.bar} <-- display the "bar" key value of an array, similar to PHP $foo['bar']
+{$foo.$bar} <-- display variable key value of an array, similar to PHP $foo[$bar]
+{$foo->bar} <-- display the object property "bar"
+{$foo->bar()} <-- display the return value of object method "bar"
+{#foo#} <-- display the config file variable "foo"
+{$smarty.config.foo} <-- synonym for {#foo#}
+{$foo[bar]} <-- syntax only valid in a section loop, see {section}
+{assign var=foo value='baa'}{$foo} <-- displays "baa", see {assign}
- Many other combinations are allowed
+Many other combinations are allowed
- {$foo.bar.baz}
- {$foo.$bar.$baz}
- {$foo[4].baz}
- {$foo[4].$baz}
- {$foo.bar.baz[4]}
- {$foo->bar($baz,2,$bar)} <-- passing parameters
- {"foo"} <-- static values are allowed
+{$foo.bar.baz}
+{$foo.$bar.$baz}
+{$foo[4].baz}
+{$foo[4].$baz}
+{$foo.bar.baz[4]}
+{$foo->bar($baz,2,$bar)} <-- passing parameters
+{"foo"} <-- static values are allowed
- {* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
- {$smarty.server.SERVER_NAME}
+{* display the server variable "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
+{$smarty.server.SERVER_NAME}
- Math and embedding tags:
+Math and embedding tags:
- {$x+$y} // will output the sum of x and y.
- {assign var=foo value=$x+$y} // in attributes
- {$foo[$x+3]} // as array index
- {$foo={counter}+3} // tags within tags
- {$foo="this is message {counter}"} // tags within double quoted strings
+{$x+$y} // will output the sum of x and y.
+{assign var=foo value=$x+$y} // in attributes
+{$foo[$x+3]} // as array index
+{$foo={counter}+3} // tags within tags
+{$foo="this is message {counter}"} // tags within double quoted strings
- Defining Arrays:
+Defining Arrays:
- {assign var=foo value=[1,2,3]}
- {assign var=foo value=['y'=>'yellow','b'=>'blue']}
- {assign var=foo value=[1,[9,8],3]} // can be nested
+{assign var=foo value=[1,2,3]}
+{assign var=foo value=['y'=>'yellow','b'=>'blue']}
+{assign var=foo value=[1,[9,8],3]} // can be nested
- Short variable assignment:
+Short variable assignment:
- {$foo=$bar+2}
- {$foo = strlen($bar)} // function in assignment
- {$foo = myfunct( ($x+$y)*3 )} // as function parameter
- {$foo.bar=1} // assign to specific array element
- {$foo.bar.baz=1}
- {$foo[]=1} // appending to an array
+{$foo=$bar+2}
+{$foo = strlen($bar)} // function in assignment
+{$foo = myfunct( ($x+$y)*3 )} // as function parameter
+{$foo.bar=1} // assign to specific array element
+{$foo.bar.baz=1}
+{$foo[]=1} // appending to an array
- Smarty "dot" syntax (note: embedded {} are used to address ambiguities):
+Smarty "dot" syntax (note: embedded {} are used to address ambiguities):
- {$foo.a.b.c} => $foo['a']['b']['c']
- {$foo.a.$b.c} => $foo['a'][$b]['c'] // with variable index
- {$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] // with expression as index
- {$foo.a.{$b.c}} => $foo['a'][$b['c']] // with nested index
+{$foo.a.b.c} => $foo['a']['b']['c']
+{$foo.a.$b.c} => $foo['a'][$b]['c'] // with variable index
+{$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] // with expression as index
+{$foo.a.{$b.c}} => $foo['a'][$b['c']] // with nested index
- PHP-like syntax, alternative to "dot" syntax:
+PHP-like syntax, alternative to "dot" syntax:
- {$foo[1]} // normal access
- {$foo['bar']}
- {$foo['bar'][1]}
- {$foo[$x+$x]} // index may contain any expression
- {$foo[$bar[1]]} // nested index
- {$foo[section_name]} // smarty {section} access, not array access!
+{$foo[1]} // normal access
+{$foo['bar']}
+{$foo['bar'][1]}
+{$foo[$x+$x]} // index may contain any expression
+{$foo[$bar[1]]} // nested index
+{$foo[section_name]} // smarty {section} access, not array access!
- Variable variables:
+Variable variables:
- $foo // normal variable
- $foo_{$bar} // variable name containing other variable
- $foo_{$x+$y} // variable name containing expressions
- $foo_{$bar}_buh_{$blar} // variable name with multiple segments
- {$foo_{$x}} // will output the variable $foo_1 if $x has a value of 1.
+$foo // normal variable
+$foo_{$bar} // variable name containing other variable
+$foo_{$x+$y} // variable name containing expressions
+$foo_{$bar}_buh_{$blar} // variable name with multiple segments
+{$foo_{$x}} // will output the variable $foo_1 if $x has a value of 1.
- Object chaining:
+Object chaining:
- {$object->method1($x)->method2($y)}
+{$object->method1($x)->method2($y)}
- Direct PHP function access:
+Direct PHP function access:
- {time()}
-
-
-
+{time()}
+```
> **Note**
>
@@ -104,8 +102,8 @@ the \$dollar syntax and are instead referenced with surrounding
> explicitly with presentation to PHP by way of plugins or modifiers.
Request variables such as `$_GET`, `$_SESSION`, etc are available via
-the reserved [`$smarty`](#language.variables.smarty) variable.
+the reserved [`$smarty`](../language-variables/language-variables-smarty.md) variable.
-See also [`$smarty`](#language.variables.smarty), [config
-variables](#language.config.variables)
-[`{assign}`](#language.function.assign) and [`assign()`](#api.assign).
+See also [`$smarty`](../language-variables/language-variables-smarty.md), [config
+variables](../language-variables/language-config-variables.md)
+[`{assign}`](../language-builtin-functions/language-function-assign.md) and [`assign()`](../../programmers/api-functions/api-assign.md).