本文目錄一覽:
- 1、PHP 中 smarty 要怎麼 配置?
- 2、php與smarty有什麼關係
- 3、PHP裡面的PDO 以及smarty是怎麼意思 怎麼用 最好舉幾個例子 謝謝
- 4、php中smarty 模板結構?
- 5、php簡單smarty入門程序實例
- 6、最基本的php的smarty的配置問題,快瘋了
PHP 中 smarty 要怎麼 配置?
首先要加載smarty類:Smarty.class.php
然後實例化這類:如$smarty=new Smarty()
主要的幾個基本配置:
$smarty-template_dir //設置模板目錄
$smarty – compile_dir //設置編譯目錄
$smarty – config_dir //設置配置文件目錄
$smarty- caching //設置緩存狀態
$smarty- cache_dir //設置緩存的路徑
$smarty – debugging //是否允許調試
$smarty – left_delimiter //設置左定界符
$smarty- right_delimiter //設置右定界符
$smarty – cache_lifetime //設置緩存的時間
使用一般就assign(); display();
php與smarty有什麼關係
smarty是一個使用PHP寫出來的模板引擎,是目前業界最著名的PHP模板引擎之一。模板引擎就是將顯示層分離出來。我們之前做的網站,如果在需一套更漂亮的界面的時候,我們會發現簡直是致命的。其工作量可能相當於重寫整個系統了。而模板引擎的出現幫我們解決了這一難題。使我們的網站擁有更好的可維護性。簡單的講,目的就是要使PHP程序員同美工分離,使程序員改變程序的邏輯內容不會影響到美工的頁面設計,美工重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
PHP裡面的PDO 以及smarty是怎麼意思 怎麼用 最好舉幾個例子 謝謝
pdo 是php自代的一個連接數據庫的類
如:$pdo=new PDO(“mysql:host=localhost;dbname=aa”,”root”,””);
smarty 是模板,它可以將php代碼和html分離,這樣以後改html的時候php代碼不需要改,是為了以後更好的維護也是為了開發方便,這是我的理解。
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’=
‘gao@lampbrother.net’,’phone’=’4321′),
6. array(‘name’=’洛某’,’fax’=’4567′,’email’=
‘luo@lampbrother.net’,’phone’=’7654′),
7. array(‘name’=’峰某’,’fax’=’8910′,’email’=
‘feng@lampbrother.net’,’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’=’gao@lampbrother.net’,’phone’=’4321′),
array(‘name’=’洛某’,’fax’=’4567′,’email’=’luo@lampbrother.net’,’phone’=’7654′),
array(‘name’=’峰某’,’fax’=’8910′,’email’=’feng@lampbrother.net’,’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區域的結束標記 *}
php簡單smarty入門程序實例
本文實例講述了php簡單smarty入門程序。分享給大家供大家參考。具體如下:
首先要有3個文件夾configs、templates、templates_c,在configs文件夾中有一個配置文件:test.conf,代碼:
title
=
Welcome
to
Smarty!
cutoff_size
=
40
[setup]
bold
=
true
templates中有模板文件:test.htm:
html
head
titleSmarty
Test/title
/head
body
H1Hello,
{$Name}/H1
/body
/html
php文件代碼:
?php
require
‘libs/Smarty.class.php’;
//包含Smarty類庫文件
$smarty
=
new
Smarty;
//創建一個新的Smarty對象
$smarty-assign(“Name”,”Simon”);
//對模版中的變量賦值
$smarty-display(‘test.htm’);
//顯示頁面
?
運行後顯示的頁面代碼:
html
head
titleSmarty
Test/title
/head
body
H1Hello,
Simon/H1
/body
/html
運行之後,還在templates_c文件夾中生成一個php文件:
?php
/*
Smarty
version
2.6.22,
created
on
2009-03-19
13:20:00
compiled
from
test.htm
*/
?
html
head
titleSmarty
Test/title
/head
body
H1Hello,
?php
echo
$this-_tpl_vars[‘Name’];
?
/H1
/body
/html
這個文件就是瀏覽所顯示出來的效果。
希望本文所述對大家的php程序設計有所幫助。
最基本的php的smarty的配置問題,快瘋了
這裡是
$smarty-left_delimiter =”{%”;
$smarty-right_delimiter =”%}”;
邊界符帶了個%,所以後面也必須帶%
html
body
b{%$title%}/b
/body
/html
不過smarty邊界符一般這樣設置:
$smarty-left_delimiter =”!–{“;
$smarty-right_delimiter =”}–“;
原創文章,作者:NKQM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/137466.html