国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
PHP模板引擎Smarty中變量的使用方法示例,模板smarty
您可能感興趣的文章:
首頁 后端開發(fā) php教程 PHP模板引擎Smarty中變量的使用方法示例,模板smarty_PHP教程

PHP模板引擎Smarty中變量的使用方法示例,模板smarty_PHP教程

Jul 12, 2016 am 08:54 AM
php smarty 模板引擎

PHP模板引擎Smarty中變量的使用方法示例,模板smarty

本文實例講述了PHP模板引擎Smarty中變量的使用方法。分享給大家供大家參考,具體如下:

一、概述:

Smarty 是 PHP 眾多模板引擎中的一個,它是根據 PHP 編寫的一個類庫。
Smarty 的優(yōu)點:
1、優(yōu)化網站訪問速度;
2、網頁前端設計和程序的分離;

二、Smarty 的安裝

1、需要到 Smarty 的官方網站 http://www.smarty.net/download.php 下載最新的 Smarty 版本,比如下載的版本為:Smarty-2.6.18.tar.tar;

2、解壓 Smarty-2.6.18.tar.tar 壓縮包,會發(fā)現(xiàn)都很多文件和文件夾,除了 libs 文件夾外,其他的全部刪除,都沒有用;

3、當調用 Smarty 模板引擎時,應先使用 PHP 的 require 語句載入 libs/Smarty.class.php 這個文件。

三、Smarty 類庫的默認設置

require 進 Smarty.class.php 文件后,如果需要對 Smarty 類庫中的成員進行設置,有兩種方法:一種是直接在 Smarty.class.php 文件中修改;一種是在初始化類庫之后進行重新指定,一般使用后者。下面對 Smarty 類庫中的成員屬性進行說明:

1、$template_dir:設置網站中的模板文件存放的目錄,默認目錄是 templates
2、$compile_dir:設置網站中編譯文件存放的目錄,默認目錄是 templates_c
3、$config_dir:定義用于存放模板特殊配置文件的目錄,默認是 configs
4、$left_delimiter:用于模板中的左結束符變量,默認是 '{'
5、$right_delimiter:用于模板中的右結束符變量,默認是 '}'

四、變量的使用:

Smarty 中所有的訪問都是基于變量的,下面通過一個實例來進行說明。

實例思路:主文件通過引入模板初始化配置文件(init.inc.php)和一個類,并對模板中的變量進行賦值顯示。

首先,設置 init.inc.php 文件,作為 Smarty 模板的初始化配置文件
init.inc.php

<&#63;php
  define('ROOT_PATH', dirname(__FILE__)); //定義網站根目錄
  require ROOT_PATH.'/libs/Smarty.class.php'; //載入 Smarty 文件
  $_tpl = new Smarty();      //實例化一個對象
  $_tpl->template_dir = ROOT_PATH.'/tpl/'; //重新設置模板目錄為根目錄下的 tpl 目錄
  $_tpl->compile_dir = ROOT_PATH.'./com/'; //重新設置編譯目錄為根目錄下的 com 目錄
  $_tpl->left_delimiter = '<{';   //重新設置左定界符為 '<{'
  $_tpl->right_delimiter = '}>';    //重新設置左定界符為 '}>'
&#63;>

主文件 index.php

<&#63;php
  require 'init.inc.php'; //引入模板初始化文件
  require 'Persion.class.php'; //載入對象文件
  global $_tpl;
  $title = 'This is a title!';
  $content = 'This is body content!';
  /*
  * 一、從 PHP 中分配給模板變量;
  * 動態(tài)的數據(PHP從數據庫或文件,以及算法生成的變量)
  * 任何類型的數據都可以從PHP分配過來,主要包括如下
  * 標量:string、int、double、boolean
  * 復合:array、object
  *   NULL
  * 索引數組是直接通過索引來訪問的
  * 關聯(lián)數組,不是使用[關聯(lián)下標]而是使用 . 下標的方式
  * 對象是直接通過->來訪問的
  * */
  $_tpl->assign('title',$title);
  $_tpl->assign('content',$content); //變量的賦值
  $_tpl->assign('arr1',array('abc','def','ghi'));  //索引數組的賦值
  $_tpl->assign('arr2',array(array('abc','def','ghi'),array('jkl','mno','pqr'))); //索引二維數組的賦值
  $_tpl->assign('arr3',array('one'=>'111','two'=>'222','three'=>'333')); //關聯(lián)數組的賦值
  $_tpl->assign('arr4',array('one'=>array('one'=>'111','two'=>'222'),'two'=>array('three'=>'333','four'=>'444'))); //關聯(lián)二維數組的賦值
  $_tpl->assign('arr5',array('one'=>array('111','222'),array('three'=>'333','444'))); //關聯(lián)和索引混合數組的賦值
  $_tpl->assign('object',new Persion('小易', 10)); //對象賦值
  //Smarty 中數值也可以進行運算(+-*/^……)
  $_tpl->assign('num1',10);
  $_tpl->assign('num2',20);
  $_tpl->display('index.tpl');
&#63;>

主文件 index.php 的模板文件 index.tpl(擱置在/tpl/目錄下)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title><{$title}></title>
  </head>  <body>
    變量的訪問:<{$content}>
    <br />
    索引數組的訪問:<{$arr1[0]}> <{$arr1[1]}> <{$arr1[2]}>
    <br />
    索引二維數組的訪問: <{$arr2[0][0]}> <{$arr2[0][1]}> <{$arr2[0][2]}> <{$arr2[1][0]}> <{$arr2[1][1]}> <{$arr2[1][2]}>
    <br />
    關聯(lián)數組的訪問:<{$arr3.one}> <{$arr3.two}> <{$arr3.three}>
    <br />
    關聯(lián)二維數組的訪問:<{$arr4.one.one}> <{$arr4.one.two}> <{$arr4.two.three}> <{$arr4.two.four}>
    <br />
    關聯(lián)和索引混合數組的訪問:<{$arr5.one[0]}> <{$arr5.one[1]}> <{$arr5[0].three}> <{$arr5[0][0]}>
    <br />
    對象中成員變量的訪問:<{$object->name}> <{$object->age}>
    <br />
    對象中方法的訪問:<{$object->hello()}>
    <br />
    變量的運算:<{$num1+$num2}>
    <br />
    變量的混合運算:<{$num1+$num2*$num2/$num1+44}>
    <br />
  </body>
</html>

Persion.class.php

<&#63;php
  class Persion {
   public $name; //為了訪問方便,設定為public
   public $age;
   //定義一個構造方法
   public function __construct($name,$age) {
     $this->name = $name;
     $this->age = $age;
   }
   //定義一個 hello() 方法,輸出名字和年齡
   public function hello() {
     return '您好!我叫'.$this->name.',今年'.$this->age.'歲了。';
   }
 }
&#63;>

執(zhí)行結果:

變量的訪問:This is body content!
索引數組的訪問:abc def ghi
索引二維數組的訪問: abc def ghi jkl mno pqr
關聯(lián)數組的訪問:111 222 333
關聯(lián)二維數組的訪問:111 222 333 444
關聯(lián)和索引混合數組的訪問:111 222 333 444
對象中成員變量的訪問:小易 10
對象中方法的訪問:您好!我叫小易,今年10歲了。
變量的運算:30
變量的混合運算:94

更多關于PHP相關內容感興趣的讀者可查看本站專題:《smarty模板入門基礎教程》、《PHP模板技術總結》、《PHP基于pdo操作數據庫技巧總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于smarty模板的PHP程序設計有所幫助。

您可能感興趣的文章:

  • PHP模板引擎Smarty內建函數詳解
  • PHP模板引擎Smarty內置變量調解器用法詳解
  • PHP模板引擎Smarty自定義變量調解器用法
  • PHP模板引擎Smarty中的保留變量用法分析
  • PHP模板引擎Smarty內建函數foreach,foreachelse用法分析
  • PHP模板引擎Smarty之配置文件在模板變量中的使用方法示例
  • smarty模板引擎從php中獲取數據的方法
  • ThinkPHP使用smarty模板引擎的方法
  • 在PHP模板引擎smarty生成隨機數的方法和math函數詳解
  • PHP模板引擎Smarty的緩存使用總結
  • php smarty模板引擎的6個小技巧
  • [PHP]模板引擎Smarty深入淺出介紹
  • PHP模板引擎Smarty內建函數section,sectionelse用法詳解

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1119979.htmlTechArticlePHP模板引擎Smarty中變量的使用方法示例,模板smarty 本文實例講述了PHP模板引擎Smarty中變量的使用方法。分享給大家供大家參考,具體如下:...
本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

我如何了解最新的PHP開發(fā)和最佳實踐? 我如何了解最新的PHP開發(fā)和最佳實踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什么是PHP,為什么它用于Web開發(fā)? 什么是PHP,為什么它用于Web開發(fā)? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設置PHP時區(qū)? 如何設置PHP時區(qū)? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

我如何驗證PHP中的用戶輸入以確保其符合某些標準? 我如何驗證PHP中的用戶輸入以確保其符合某些標準? Jun 22, 2025 am 01:00 AM

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

什么是php(serialize(),Unserialize())中的數據序列化? 什么是php(serialize(),Unserialize())中的數據序列化? Jun 22, 2025 am 01:03 AM

thephpfunctionserize()andunSerialize()redustoconvertComplexdatStructDestoresToroStoroStoroSandaBackagagain.1.Serialize()

如何將PHP代碼嵌入HTML文件中? 如何將PHP代碼嵌入HTML文件中? Jun 22, 2025 am 01:00 AM

可以將PHP代碼嵌入HTML文件中,但需確保文件以.php為擴展名,以便服務器能正確解析。使用標準的標簽包裹PHP代碼,可在HTML中任意位置插入動態(tài)內容。此外,可在同一文件中多次切換PHP與HTML,實現(xiàn)條件渲染等動態(tài)功能。務必注意服務器配置及語法正確性,避免因短標簽、引號錯誤或遺漏結束標簽導致問題。

編寫清潔和可維護的PHP代碼的最佳實踐是什么? 編寫清潔和可維護的PHP代碼的最佳實踐是什么? Jun 24, 2025 am 12:53 AM

寫干凈、易維護的PHP代碼關鍵在于清晰命名、遵循標準、合理結構、善用注釋和可測試性。1.使用明確的變量、函數和類名,如$userData和calculateTotalPrice();2.遵循PSR-12標準統(tǒng)一代碼風格;3.按職責拆分代碼結構,使用MVC或Laravel式目錄組織;4.避免面條式代碼,將邏輯拆分為單一職責的小函數;5.在關鍵處添加注釋并撰寫接口文檔,明確參數、返回值和異常;6.提高可測試性,采用依賴注入、減少全局狀態(tài)和靜態(tài)方法。這些做法提升代碼質量、協(xié)作效率和后期維護便利性。

如何使用PHP執(zhí)行SQL查詢? 如何使用PHP執(zhí)行SQL查詢? Jun 24, 2025 am 12:54 AM

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

See all articles