phpsmarty
① php裡面的smarty變數什麼作用
smarty變數就是已經定義好的一些變數
只要直接用就行了
建議樓主多看看smarty方面的資料
很快就會明白的
② 怎麼用PHP smarty HTML做增刪改查,
學會smarty用法就很容易了,smarty 是負責顯示界面的,沒什麼難得。增刪改用php處理,然後調用smarty顯示界面和結果
③ PHP模板中smarty_block函數的用法
Smarty末班引擎中提供了三種插件支持,分別是block(塊),function(函數),modifier(調節器),用戶可以自己擴展。
block:是一種非常靈活的高級插件,這種插件在模板中使用時需要成對出現,Smarty內置的block插件例如section,foreach等,使用格式為:
{section name="customer" loop="$data"}
<li>內容</li>
{/section}
function:他的作用類似於函數,在模板中使用無需成對出現,系統內置的如include,格式為:{include file="web/index.tpl"}。
modifier:調節器是用於對變數進行修飾的,內置的調節器如:truncate(截取字元長度),date_format(格式化時間),使用格式為:
{$nowtime|date_format:"%Y-%m-%d"}
在來分析下你的問題:
-----------------------------------------------------------------------
你提問中的這個就應當屬於block插件,其中blockname是個插件名,此插件不包含任何參數。
{blockname}<!--插件開始標簽-->
沒有緩存的:{$smarty.now}<!--插件輸入的內容,Smarty.now為全局函數,意思是輸出當前時間-->
{/blockname}<!--插件結束標簽-->
④ php中smarty怎麼賦值變數到模板
$smarty->assign('title',"這是值");
$smarty->display("moban.tpl");
上邊就是對title賦值,然後使用到模版moban.tpl上,你就可以在moban.tpl使用title這個變數。
⑤ php與smarty有什麼關系
smarty是一個模版引擎,說白了就是PHP的一個集成類。主要的功能是用於將模板和程序分離,也就是我們經常聽到和看到的mvc架構模式。而smarty就支持這種mvc架構模式,同時也支持模板的緩存功能。
⑥ php中smarty 模板結構
smarty模板的控制結構 if語句控制塊常見的if語句寫法:>> if語句在smarty中的應用
# {if $name == "Fred" || $name == "Wilma"}
{* 和上面的例子一樣,"or"和"||"沒有區別 *}
# ...
{* 如果條件成立則輸出這個區塊的代碼 *}
# {/if}
{* 是條件控制的關閉標記,if必須成對出現* foreach的遍歷: 主要是應用在一維數組中. {foreach}要與{/foreach}成對使用,它有四個參數,其中form和item兩個是必要的。foreach可以使用的全部參數如表16-4所示。 表16-4 foreach可以使用的選項參數參 數 名描 述類 型默 認 值form待循環數組的名稱,該屬性決定循環的次數,必要參數數組變數無item確定當前元素的變數名稱,必要參數字元串無key當前處理元素的鍵名,可選參數字元串無name該循環的名稱,用於訪問該循環,這個名是任意的,可選參數字元串無 foreach來遍歷一維數組 foreach來遍歷二維數組 也可以在模板中嵌套使用foreach遍歷二維數組,但必須保證嵌套中的foreach名稱唯一。此外,在使用foreach遍歷數組時與下標無關,所以在模板中關聯數組和索引數組都可以使用foreach遍歷。 二維數組的遍歷 1. <?php
2. require "libs/Smarty.class.php";
//包含Smarty類庫
3. $smarty = new Smarty();
//創建Smarty類的對象
4. $contact=array(
//聲明一個保存三個聯系人信息的二維數組
5. array('name'=>'高某','fax'=>'1234','email'=
>'[email protected]','phone'=>'4321'),
6. array('name'=>'洛某','fax'=>'4567','email'=
>'[email protected]','phone'=>'7654'),
7. array('name'=>'峰某','fax'=>'8910','email'=
>'[email protected]','phone'=>'0198')
8. );
9. $smarty->assign('contact', $contact);
//將關聯數組$contact分配到模板中使用
10. $smarty->display('index.tpl');
//查找模板替換並輸出
11. ?>
在進行輸出時:
進行遍歷的方案 # {foreach from=$contact item=row}
{* 外層foreach遍歷數組$contact *}
# <tr>
{* 輸出表格的行開始標記 *}
# {foreach from=$row item=col}
{* 內層foreach遍歷數組$row *}
# <td>{$col}</td>
{* 以表格形式輸出數組中的每個數據 *}
# {/foreach}
{* 內層foreach區塊結束標記 *}
# </tr>
{* 輸出表格的行結束標記 *}
# {/foreach}
{* 外層foreach區域的結束標記 *}
說明: 這里的遍歷是對整個二維數組來進行遍歷. foreachelse在進行遍歷數組時的應用:foreach標記提供了一個擴展標記foreachelse,這個語句在from變數沒有值的時候被執行,就是在數組為空時foreachelse標記可以生成某個候選結果。在模板中foreachelse標記不能獨自使用,一定要與foreach一起使用。而且foreachelse不需要結束標記,它嵌入在foreach中,與elseif嵌入在if語句中很類似。 foreach為二維數組 1. {foreach key=key item=value from=$array}
{* 使用foreach遍歷數組$array中的鍵和值 *}
2. {$key} => {$item} <br>
{* 在模板中輸出數組$array中元素的鍵和值對 *}
3. {foreachelse}
{* foreachelse在數組$array沒有值的時候被執行*}
4. <p>數組$array中沒有任何值</p>
{* 如果看到這條語句,說明數組中沒有任何數據*}
5. {/foreach}
{* foreach需要成對出現,是foreach的結束標記 *} section的循環遍歷section來循環遍歷二維數組二維數組的遍歷 說明:這是一個二維數組的定義
$contact=array( //聲明一個保存三個聯系人信息的二維數組
array('name'=>'高某','fax'=>'1234','email'=>'[email protected]','phone'=>'4321'),
array('name'=>'洛某','fax'=>'4567','email'=>'[email protected]','phone'=>'7654'),
array('name'=>'峰某','fax'=>'8910','email'=>'[email protected]','phone'=>'0198')
);
$smarty->assign('contact', $contact); //將關聯數組$contact分配到模板中使用
說明:使用section來進行遍歷,其中對於是關聯數組的數組訪問,使用"."號形式來訪問
{section name=line loop=$contact} {* 使用section遍歷數組$contact *}
<tr> {* 輸出表格的行開始標記 *}
<td>{$contact[line].name}</td> {* 輸出數組第二維中下標為name的元素值 *}
<td>{$contact[line].fax}</td> {* 輸出數組第二維中下標為fax的元素值*}
<td>{$contact[line].email}</td> {* 輸出數組第二維中下標為email的元素值*}
<td>{$contact[line].phone}</td> {* 輸出數組第二維中下標為phone的元素值*}
</tr> {* 輸出表格的行結束標記 *}
{/section} {* section區域的結束標記 *}
⑦ thinkphp smarty這兩個框架有什麼區別呢
thinkphp裡面的模板引擎就是smarty,thinkphp 是一個程序快速開發的後台框架,smarty只是一個模板引擎,用於分離php和html代碼的.
⑧ smarty怎麼在模板里寫php語法
網路:csdn dmtnewtons Smarty 點擊第一條:smarty手冊
List of Examples -> 7.61. php code within {php} tags
Example7.61.phpcodewithin{php}tags
{php}
//.
include('/path/to/display_weather.php');
{/php}
Example7.62.{php}
{*thistemplateincludesa{php}blockthatassign'sthevariable$varX*}
{php}
global$foo,$bar;
if($foo==$bar){
echo'Thiswillbesenttobrowser';
}
//assignavariabletoSmarty
$this->assign('varX','Toffee');
{/php}
{*outputthevariable*}
<strong>{$varX}</strong>ismyfavicecream:-)
⑨ php的smarty框架的原理是什麼
php的smarty是一個php開發的模版系統,根本目的是為了實現頁面和邏輯的分離,同時可以輔助我們進行php系統的快速開發,其中集成插件技術,緩存系統等技術,對前端頁面優化和速度優化有很大的幫助作用,其中的編譯型系統可以做到只需編譯一次模版就可以長久使用。
實現原理:
1.php端邏輯實現文件(php文件)
2.模版文件(html文件)
3.編譯系統把php邏輯實現文件和模版文件結合編譯成靜態html文件,即生成緩存文件
4.顯示
⑩ 2018年,PHP的smarty還有必要學嗎
沒必要,現在用smarty的真心不多,很落伍,速度慢
smarty是用來做前後段代碼分離的
其實我個人覺得很雞肋,對於現在前段來說,後端部分代碼也是能看懂的
稍微有點經驗的都不在乎這些 效率還低,沒啥突出的
我們公司就不用這個,之前接觸的公司用這個的真心不多