This article describes the usage of reserved variables in PHP template engine Smarty. Share it with everyone for your reference, the details are as follows:
In Smarty, there are some reserved variables that can be used directly without the need for PHP scripts to assign them, that is, there is no need to use $_tpl->assign('var','value') to assign them.
1. Access the variables of the page request in the template
{$smarty.get.user} == $_GET['user'] {$smarty.post.user} == $_POST['user'] {$smarty.cookie.username} == $_COOKIE['username'] {$smarty.session.username} == $_SESSION['username'] {$smarty.server.REMOTE_ADDR} == $_SERVER["REMOTE_ADDR"] {$smarty.env.PATH} == $_ENV['PATH'] {$smarty.request.username} == $_REQUEST['username']
2. Access constants and system constants defined in PHP scripts in template files
{$smarty.const.__FILE__} //当前执行的 PHP 文件 {$smarty.const.CONST_VAR} //访问 PHP 脚本中 define 定义的常量
3. Get the current server time in the template file
Copy code The code is as follows: {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} == PHP date('Y-m-d H:i:s',time())
in script4. Access of configuration files in templates
Template variables in the configuration file can be accessed through {$smarty.config.Configuration Variables}. In this case, there are two ways to access the variables in the configuration file in the template: 1. {#Configuration Variables#}; 2. {$smarty.config.Configuration Variables}, if there is a zone, the same is true.
5. Get the data captured by Smarty’s built-in function capture
The function of the capture function is to capture the data output by the template and store it in a variable instead of outputting them to the page. Any data between {capture name="foo"} and {/capture} will is stored in the variable $foo, which is specified by the name attribute. Access this variable through $smarty.capture.foo in the template. If the name attribute is not specified, the function will use "default" as the parameter by default.
6. Reserved variables $smarty.foreach
$smarty.foreach obtains some information about the foreach loop array, such as the number of arrays, incrementing by 1..., for details on the use of $smarty.foreach, please refer to the previous article "PHP template engine Smarty built-in function foreach" , foreachelse usage analysis》
Readers who are interested in more PHP-related content can check out the special topics of this site: "Basic Tutorial for Getting Started with Smarty Templates", "Summary of PHP Template Technology", "Summary of PHP Database Operation Skills Based on PDO", "PHP Operations and Operators" Usage summary", "PHP network programming skills summary", "PHP basic syntax introductory tutorial", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation introductory tutorial" and "Summary of Common Database Operation Skills in PHP"
I hope this article will be helpful to everyone’s PHP program design based on smarty templates.