首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Smarty 模板進階技巧:變數操作、內建變數與修飾符

     編輯:PHP 相關知識

Smarty 不只是簡單的變數輸出,掌握其內建運算、保留變數與修飾符,能大幅減少 PHP 控制器邏輯,保持模板乾淨。

模板內直接運算

{$price + $tax}
{$quantity * $unitPrice}
{if ($total > 1000 && $user.level == 'VIP')}...{/if}

支援 + - * / %、邏輯比較、括號分組,優先級同 PHP。

直接存取超全域變數

模板語法對應 PHP說明
{$smarty.get.page}$_GET['page']URL 參數
{$smarty.post.username}$_POST['username']表單提交
{$smarty.cookies.auth}$_COOKIE['auth']Cookie 值
{$smarty.server.REQUEST_URI}$_SERVER['REQUEST_URI']伺服器變數
{$smarty.session.user_id}$_SESSION['user_id']Session 變數
{$smarty.request.keyword}$_REQUEST['keyword']合併 G/P/C
{$smarty.env.PATH}$_ENV['PATH']環境變數

時間戳與日期格式化

{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}
{* 當前時間戳 *}
{$timestamp|date_format:'%Y/%m/%d'}
{* 自訂時間戳格式化 *}

存取 PHP 常數

{$smarty.const.APP_VERSION}
{$smarty.const.DB_HOST}
{* define('APP_VERSION', '1.2.3') 後可直接使用 *}

實戰建議

  • 盡量在 PHP 層完成資料處理,模板僅做「呈現邏輯」
  • 避免在模板做複雜 SQL 或業務運算,違反 MVC 分層
  • 善用 capture 區塊暫存輸出、config_load 載入設定檔
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved