當前位置:首頁 » 編程語言 » php模板編程

php模板編程

發布時間: 2022-07-23 13:58:57

1. php該怎麼套用模板

php和html代碼是可以嵌套用的!可以混用!
代碼如:
<?php
echo '<font>hello world</font>';
?>

給你推薦個網站:www.0101ask.com--php有問必答網!有問必答!全部都是實際的項目經驗分享!學習php,mysql,js,linux亦應具有!每天都會更新,全部都是原創!很實用!

2. php的模板和框架有什麼區別各是用來做什麼的

模板是為瀏覽用的,
框架是在最基本的代碼里繼續封裝成一個完整的系統,並且可以對這個框架二次開發的。
Thinkphp很好用,因為我也是前一陣子自學的php,很容易上手。

3. PHP模板怎麼用

php網站模板使用方法如下:
邏輯和現實分離,顯示全部用靜態頁面的html代碼。
把要顯示的變數用一個特定的字元串放進去(一般都是<!--{$str}-->這種形式)。當然,模板文件不一定非要是html後綴,你可以用任何後綴。
邏輯層處理完業務邏輯就要包含模板文件顯示了。
包含的思想就是用fopen打開文件,把文件內容讀到一個字元串變數里。
然後用正則表達式把<!--{$str}-->替換成$str,最後用echo輸出就行了。

4. 在php中如調用一個或幾個php模板文件

如何應用FastTemplate呢?首先你需要先進行一個簡單地調用:

<?php $tpl=new FastTemplate ("path"); ?>

傳遞給它一個路徑,是所有你的模板文件存放的目錄。它返回一個對象,你可以用它進行參
數賦值,生成頁面等等。

FastTemplate是基於這樣一種假設:一個很大的頁面是由很多小的部分組成的。每一個部分有一個唯一
的名字。最小的部分是賦值給這樣有著唯一名字的一段正常的文本字元串。這個可以通過
<?php
$tpl->assign(NAME, "text");
?>
來完成。現在,如果你的一個模板包含{NAME},FastTemplate 就知道你
的意圖了。

另外,FastTemplate需要知道你想如何調用你的模板。你需要通過傳遞一個相關數組(associative
array)給 <?php $tpl->define(); ?>
來給它一個提示。
以下為引用的內容:
<?php
$tpl->define(array(foo => "foo.tpl",
bar => "bar.tpl"));
?>

這些賦值將分別給foo和bar以不同的文件(名為foo.tpl和bar.tpl)。

現在你想讓FastTemplate替換在模板foo中的所有{MACROS}為相應的值。通過發出命令

以下為引用的內容:
<?php
$tpl->parse(PAGECONTENT, "foo");
?>

來實現。 這個命令將把模板"foo"的內容賦給PAGECONTENT。 當然,我們還沒有做完,因為模板bar中為主要的頁面定義,FastTemplate需要替換其中的
{PAGECONTENT}宏。我們也需要給PAGETITLE賦值,如下所做:
以下為引用的內容:
<?php
$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse(MAIN, "bar");
?>

容易吧,不是嗎?我們現在只需要把它輸出: <?php
$tpl->FastPrint(MAIN);
?>
下面三個文件顯示了實際練習中的更多的細節描述。我不知道在現實生活了離了這個技術應如何生活 --
你的設計者會高興,你的老闆會微笑,因為你可以在更短的時間內做更多的事情。

以下為引用的內容:
bar.tpl
<!-- bar.tpl -->
<HTML>
<HEAD><TITLE>Feature world - {PAGETITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGETITLE}</H1>
{PAGECONTENT}
</BODY>
</HTML>
foo.tpl <!-- foo.tpl -->

很明顯示什麼都沒做。請看{NAME}.
以下為引用的內容:

demo.php3
<?php
include "class.FastTemplate.php3";
$tpl = new FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));

$tpl->assign(NAME, "me");
$tpl->assign(PAGETITLE, "Welcome!");

$tpl->parse(PAGECONTENT, "foo");
$tpl->parse(MAIN, "bar");

$tpl->FastPrint(MAIN);
?>

創建整個表格
我也寫了一個短的例子,用來演示如何通過單行模板來生成整個表格。它很有效,因為你仍然不需要直
接修改HTML文檔。

我們增加一個模板的內容到一個已經定義過的唯一命名的後面來創建HTML表格。這個可以通過在調用
$tpl->parse()時,在模板名前加上一個"."來實現。 <?php
// 將模板foo的內容賦給TPL1
$tpl->parse(TPL1, "foo");

// 在TPL1後附上模板bar的內容
$tpl->parse(TPL1, ".bar");
?>

page.tpl

以下為引用的內容:
<HTML>
<HEAD><TITLE>Feature world - {PAGE_TITLE}</TITLE></HEAD>
<BODY BGCOLOR=BLACK TEXT=WHITE>
<H1>{PAGE_TITLE}</H1>
{PAGE_CONTENT}
</BODY>
</HTML>
table.tpl

以下為引用的內容:
<TABLE>
<TR> <TH>name</TH> <TH>size</TH> </TR>
{TABLE_ROWS}
</TABLE>

table_row.tpl

以下為引用的內容:
<TR>
<TD>{FILENAME}</TD>
<TD>{FILESIZE}</TD>
</TR>

yad.php3

以下為引用的內容:
<?php
include "class.FastTemplate.php3";
function InitializeTemplates() {
global $tpl;

$tpl = new FastTemplate( ".");
$tpl->define( array( page => "page.tpl",
table => "table.tpl",
table_row => "table_row.tpl" ) );
}

function ReadCurrentDirectory() {
global $tpl;

$handle = opendir( ".");
while($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename));
$tpl->parse(TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "table");
}

function PrintPage($title) {
global $tpl;

$tpl->assign(PAGE_TITLE, $title);
$tpl->parse(FINAL, "page");
$tpl->FastPrint(FINAL);
}

InitializeTemplates();
ReadCurrentDirectory();
Printpage( "Yet Another Demo");
?>

5. PHP模板是什麼

平常我們做一個互動式網站,一定會關注兩個主要的問題,就是美工和程序。這也是一個網站在建設中拋開其內容之後最關鍵的要素。

通常有兩種方式來協調美工和程序之間的關系:

1.先做好美工頁面,然後由程序員直接在美工頁面的Html文件中嵌入ASP、jsp、PHP等程序代碼。

2.美工和程序同時進行,但這時因為沒有頁面框架,程序只能做出一些關鍵代碼,雙方完成後再進行一次美工頁面和程序代碼的嵌入合成。

在實際的網站建設過程中,由於人員、進度等環境的限制,大家通常會混合地使用上面兩種協調方式。然而這兩種方法都有不足之處:

1. 效率不高。兩者協調不好可能產生等待、重復代碼調試步驟等現象;

2. 調試不暢。由於程序代碼最終需要嵌入在HTML頁面中,代碼的嵌入、調試、糾錯都比較繁瑣;

3. 維護不便。一旦美工設計需要修改,如網站改版,那麼所有程序和HTML代碼混合頁面都需要重寫;

如果你正在使用PHP程序建設網站,那麼PHP的模板技術會比較圓滿地解決上述問題。

那麼什麼是PHP的模板技術?PHP模板即PHPlib的Template技術,是PHPLIB程序庫中的一個主要模塊之一,發展自Perl的Template。而PHPLIB則是在PHP上的一個擴展,提供了很多類庫,能夠方便地實現一些基本功能如用戶認證,資料庫封裝等。

現在PHP模板技術很多,不過建議你學習smarty,畢竟是官方的東西!
smarty學習很簡單的,你去下載一個smarty手冊,對照著學,基本上二天就可以學會了!

6. PHP開發怎麼學習PHP學習有沒有什麼方法

1.熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁,對元素屬性達到熟悉程度
2.理解動態語言的概念,運做機制,熟悉PHP語法
3.學習如何將PHP與HTML結合起來完成簡單動態頁面
4.接觸MYSQL,開始設計資料庫程序
5.不斷鞏固,摸透大部分PHP常用函數,並可理解OOP,MYSQL優化,以及模板
6.完成一個功能齊全的動態站點

7. 如何用PHP製作靜態網站的模板框架

分離功能和布局的基本思想就是使得這兩組人能夠各自編寫和使用獨立的一組文件:程序員只需關心那些只包含PHP代碼的文件,無需關心頁面的外觀;而頁面設計人員可以用自己最熟悉的可視化編輯器設計頁面布局,無需擔心破壞任何嵌入到頁面的PHP代碼。 如果你曾經看過幾個關於PHP模板的教程,那麼你應該已經明白模板的工作機制。考慮一個簡單的頁面局部:頁面的上方是頁頭,左邊是導航條,其餘部分是內容區域。 可以看出頁面如何由這些模板構造而成:main模板控制著整個頁面的布局;header模板和leftnav模板控制著頁面的公共元素。花括弧「{}」裡面的標識符是內容佔位符。使用模板最主要的好處在於界面設計者能夠按照自己的意願編輯這些文件,比如設置字體、修改顏色和圖形,或者完全地改變頁面的布局。界面設計者可以用任何普通HTML編輯器或者可視化工具編輯這些頁面,因為這些文件都只包含HTML代碼,沒有任何PHP代碼。 PHP代碼全部保存到單獨的文件中,這個文件也就是由頁面URL實際調用的文件。Web伺服器通過PHP引擎解析該文件,然後把結果返回給瀏覽器。一般地,PHP代碼總是動態地生成頁面內容,比如查詢資料庫或者執行某種計算等。下面是一個例子: // 此處的PHP代碼設置 $content使其包含合適的頁面內容 $tpl->assign('CONTENT', $content); $tpl->parse('HEADER', 'header'); $tpl->parse('LEFTNAV', 'leftnav'); $tpl->parse('MAIN', 'main'); $tpl->FastPrint('MAIN'); ?>這里我們使用的是流行的FastTemplate模板類,但其基本思路對於其他許多模板類來說都一樣。首先你實例化一個類,告訴它到哪裡去尋找模板文件以及哪一個模板文件與頁面的哪部分對應;接下來是生成頁面內容,把結果賦予內容的標識符;然後,依次解析各個模板文件,模板類將執行必要的替換操作;最後把解析結果輸出到瀏覽器。 這個文件完全由PHP代碼構成,不包含任何HTML代碼,這是它最大的優點。現在,PHP程序員可以集中精力編寫生成頁面內容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔心。 很容易看出採用模板還有第二個好處。如上例所示,頁面左邊的導航條單獨保存為一個文件,我們只需編輯這一個模板文件就可以改變網站所有頁面左邊的導航條。 避免頁面元素重復 「這確實不錯」,你也許會想,「我的網站主要就是由大量的靜態頁面構成。現在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實在太麻煩了。以後我就可以用模板製作出很容易維護的統一頁面布局。」但事情並非這么簡單,「大量的靜態頁面」道出了問題的所在。 請考慮上面的例子。這個例子實際上只有一個example.php頁面,它之所以能夠生成整個網站的所有頁面,是因為它利用了URL中的查詢字元串從資料庫之類的信息源動態地構造出頁面。 我們之中的大多數人所運行的網站並不一定都有資料庫支持。我們的網站大多數由靜態頁面構成,然後用PHP在這里、那裡加上一些動態功能,比如搜索引擎、反饋表單等。那麼,如何在這種網站上應用模板呢? 最簡單的方法是為每一個頁面復制一份PHP文件,然後在每一個頁面中把PHP代碼里代表內容的變數設置成合適的頁面內容。例如,假設有三個頁面,它們分別是主頁(home)、關於(about)和產品(proct),我們可以用三個文件分別生成它們。這三個文件的內容都類如: 希望你能夠喜歡本網站"; $tpl->assign('CONTENT', $content); $tpl->parse('HEADER', 'header'); $tpl->parse('LEFTNAV', 'leftnav'); $tpl->parse('MAIN', 'main'); $tpl->FastPrint('MAIN'); ?>顯然,這種方法有三個問題:我們必須為每一個頁面復制這些復雜的、牽涉到模板的PHP代碼,這與重復公共頁面元素一樣使得頁面難以維護;現在文件又混合了HTML和PHP代碼;為內容變數賦值將變得非常困難,因為我們必須處理好大量的特殊字元。 解決這個問題的關鍵就在於分離PHP代碼和HTML內容,雖然我們不能從文件中刪除所有的HTML內容,但可以移出絕大多數PHP代碼。靜態網站的模板框架: ob_end_clean(); $tpl->assign('CONTENT', $content); $tpl->parse('HEADER', 'header'); $tpl->parse('LEFTNAV', 'leftnav'); $tpl->parse('MAIN', 'main'); $tpl->FastPrint('MAIN'); } ?>ageStart函數首先創建並設置了一個模板實例,然後啟用輸出緩存。此後,所有來自頁面本身的HTML內容都將進入緩存。pageFinish函數取出緩存中的內容,然後在模板對象中指定這些內容,最後解析模板並輸出完成後的頁面。 這就是整個模板框架全部的工作過程了。

熱點內容
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259
sqlserver合並 發布:2025-01-31 10:22:27 瀏覽:712
大理伺服器地址 發布:2025-01-31 10:10:52 瀏覽:972
流上傳文件 發布:2025-01-31 10:09:27 瀏覽:40
滿贈演算法 發布:2025-01-31 09:54:27 瀏覽:709
濱州視頻拍攝腳本 發布:2025-01-31 09:48:25 瀏覽:418
光遇出現伺服器已滿是什麼回事 發布:2025-01-31 09:35:29 瀏覽:356
AndroidWindows7 發布:2025-01-31 09:32:17 瀏覽:260