什么是 Smarty?
为何使用它?
用例和工作流程
语法比较
模板继承
最佳实践
速成课程
传统上,在应用程序中编程模板的步骤如下:首先,在 PHP 应用程序中积累变量(也许通过数据库查询)。然后,实例化 Smarty 对象、assign()
变量并 display()
模板。所以让我们举个例子,假设我们的模板上有一个股票行情。我们将在应用程序中收集股票数据,然后在模板中分配这些变量并显示。现在,如果您只需通过包含模板就能将此股票行情添加到任何应用程序中,并且不必在前面获取数据,那不是很好吗?
可以通过编写一个自定义插件来获取内容并将其分配给模板变量来实现此目的。
示例 21.7。组件化模板
function.load_ticker.php
- 放置文件到 $plugins 目录
<?php // setup our function for fetching stock data function fetch_ticker($symbol) { // put logic here that fetches $ticker_info // from some ticker resource return $ticker_info; } function smarty_function_load_ticker($params, $smarty) { // call the function $ticker_info = fetch_ticker($params['symbol']); // assign template variable $smarty->assign($params['assign'], $ticker_info); } ?>
index.tpl
{load_ticker symbol='SMARTY' assign='ticker'} Stock Name: {$ticker.name} Stock Price: {$ticker.price}
另请参阅 {include_php}
、{include}
和 {php}
。