分離功能和布局的基本思想就是使得這兩組人能夠各自編寫和使用獨(dú)立的一組文件:程序員只需關(guān)心那些只包含PHP代碼的文件,無需關(guān)心頁面的外觀;而頁面設(shè)計(jì)人員可以用自己最熟悉的可視化編輯器設(shè)計(jì)頁面布局,無需擔(dān)心破壞任何嵌入到頁面的PHP代碼。 如果你曾經(jīng)看過幾個關(guān)于PHP模板的教程,那么你應(yīng)該已經(jīng)明白模板的工作機(jī)制??紤]一個簡單的頁面局部:頁面的上方是頁頭,左邊是導(dǎo)航條,其余部分是內(nèi)容區(qū)域。 可以看出頁面如何由這些模板構(gòu)造而成:main模板控制著整個頁面的布局;header模板和leftnav模板控制著頁面的公共元素。花括號“{}”里面的標(biāo)識符是內(nèi)容占位符。使用模板最主要的好處在于界面設(shè)計(jì)者能夠按照自己的意愿編輯這些文件,比如設(shè)置字體、修改顏色和圖形,或者完全地改變頁面的布局。界面設(shè)計(jì)者可以用任何普通HTML編輯器或者可視化工具編輯這些頁面,因?yàn)檫@些文件都只包含HTML代碼,沒有任何PHP代碼。 PHP代碼全部保存到單獨(dú)的文件中,這個文件也就是由頁面URL實(shí)際調(diào)用的文件。Web服務(wù)器通過PHP引擎解析該文件,然后把結(jié)果返回給瀏覽器。一般地,PHP代碼總是動態(tài)地生成頁面內(nèi)容,比如查詢數(shù)據(jù)庫或者執(zhí)行某種計(jì)算等。下面是一個例子: // 此處的PHP代碼設(shè)置 $content使其包含合適的頁面內(nèi)容 $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); ?這里我們使用的是流行的FastTemplate模板類,但其基本思路對于其他許多模板類來說都一樣。首先你實(shí)例化一個類,告訴它到哪里去尋找模板文件以及哪一個模板文件與頁面的哪部分對應(yīng);接下來是生成頁面內(nèi)容,把結(jié)果賦予內(nèi)容的標(biāo)識符;然后,依次解析各個模板文件,模板類將執(zhí)行必要的替換操作;最后把解析結(jié)果輸出到瀏覽器。 這個文件完全由PHP代碼構(gòu)成,不包含任何HTML代碼,這是它最大的優(yōu)點(diǎn)?,F(xiàn)在,PHP程序員可以集中精力編寫生成頁面內(nèi)容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔(dān)心。 很容易看出采用模板還有第二個好處。如上例所示,頁面左邊的導(dǎo)航條單獨(dú)保存為一個文件,我們只需編輯這一個模板文件就可以改變網(wǎng)站所有頁面左邊的導(dǎo)航條。 避免頁面元素重復(fù) “這確實(shí)不錯”,你也許會想,“我的網(wǎng)站主要就是由大量的靜態(tài)頁面構(gòu)成。現(xiàn)在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實(shí)在太麻煩了。以后我就可以用模板制作出很容易維護(hù)的統(tǒng)一頁面布局?!钡虑椴⒎沁@么簡單,“大量的靜態(tài)頁面”道出了問題的所在。 請考慮上面的例子。這個例子實(shí)際上只有一個example.php頁面,它之所以能夠生成整個網(wǎng)站的所有頁面,是因?yàn)樗昧薝RL中的查詢字符串從數(shù)據(jù)庫之類的信息源動態(tài)地構(gòu)造出頁面。 我們之中的大多數(shù)人所運(yùn)行的網(wǎng)站并不一定都有數(shù)據(jù)庫支持。我們的網(wǎng)站大多數(shù)由靜態(tài)頁面構(gòu)成,然后用PHP在這里、那里加上一些動態(tài)功能,比如搜索引擎、反饋表單等。那么,如何在這種網(wǎng)站上應(yīng)用模板呢? 最簡單的方法是為每一個頁面復(fù)制一份PHP文件,然后在每一個頁面中把PHP代碼里代表內(nèi)容的變量設(shè)置成合適的頁面內(nèi)容。例如,假設(shè)有三個頁面,它們分別是主頁(home)、關(guān)于(about)和產(chǎn)品(product),我們可以用三個文件分別生成它們。這三個文件的內(nèi)容都類如: 希望你能夠喜歡本網(wǎng)站"; $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); ?顯然,這種方法有三個問題:我們必須為每一個頁面復(fù)制這些復(fù)雜的、牽涉到模板的PHP代碼,這與重復(fù)公共頁面元素一樣使得頁面難以維護(hù);現(xiàn)在文件又混合了HTML和PHP代碼;為內(nèi)容變量賦值將變得非常困難,因?yàn)槲覀儽仨毺幚砗么罅康奶厥庾址?解決這個問題的關(guān)鍵就在于分離PHP代碼和HTML內(nèi)容,雖然我們不能從文件中刪除所有的HTML內(nèi)容,但可以移出絕大多數(shù)PHP代碼。靜態(tài)網(wǎng)站的模板框架: ob_end_clean(); $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); } ?ageStart函數(shù)首先創(chuàng)建并設(shè)置了一個模板實(shí)例,然后啟用輸出緩存。此后,所有來自頁面本身的HTML內(nèi)容都將進(jìn)入緩存。pageFinish函數(shù)取出緩存中的內(nèi)容,然后在模板對象中指定這些內(nèi)容,最后解析模板并輸出完成后的頁面。 這就是整個模板框架全部的工作過程了。
創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元南昌做網(wǎng)站,已為上家服務(wù),為南昌各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
學(xué)習(xí)php現(xiàn)在很多開源程序,比如 cms dede dz論壇等等,這些都是帶數(shù)據(jù)庫的
你試試看使用模板吧,所有的界面設(shè)計(jì)都是針對一個靜態(tài)網(wǎng)頁進(jìn)行,這個靜態(tài)網(wǎng)頁里面所有你需要的內(nèi)容都使用PHP的變量(或者你自己規(guī)定的其它特殊格式)來代表,設(shè)計(jì)布局的時候都是對這么靜態(tài)網(wǎng)頁進(jìn)行操作。
而網(wǎng)站并不直接向外顯示網(wǎng)頁,網(wǎng)頁的所有內(nèi)容有PHP程序從數(shù)據(jù)庫里面獲取,對網(wǎng)頁模板里面的變量進(jìn)行替換后輸出。
例如你的首頁模板可以命名為index.htm,實(shí)際使用index.php來顯示首頁,PHP的流程是這樣的:
?php
//鏈接數(shù)據(jù)庫,獲取各類數(shù)據(jù)到變量中
$news='例如新聞內(nèi)容';
//獲取模板
$html=file_get_content('index.htm');
//替換模板中的變量
$html=str_replace('--news--',$news,$html);
//輸出模板
echo $html;
?
PHP代碼全部保存到單獨(dú)的文件中,這個文件也就是由頁面URL實(shí)際調(diào)用的文件。Web服務(wù)器通過PHP引擎解析該文件,然后把結(jié)果返回給瀏覽器。一般地,PHP代碼總是動態(tài)地生成頁面內(nèi)容,比如查詢數(shù)據(jù)庫或者執(zhí)行某種計(jì)算等。下面是一個例子:
?php
//
example.php
require('class.FastTemplate.php');
$tpl
=
new
FastTemplate('.');
$tpl-define(
array(
'main'
=
'main.htm',
'header'
=
'header.htm',
'leftnav'
=
'leftnav.htm'
)
);
//
此處的PHP代碼設(shè)置$content使其包含合適的頁面內(nèi)容
$tpl-assign('CONTENT',
$content);
$tpl-parse('HEADER',
'header');
$tpl-parse('LEFTNAV',
'leftnav');
$tpl-parse('MAIN',
'main');
$tpl-FastPrint('MAIN');
?
這里我們使用的是流行的FastTemplate模板類,但其基本思路對于其他許多模板類來說都一樣。首先你實(shí)例化一個類,告訴它到哪里去尋找模板文件以及哪一個模板文件與頁面的哪部分對應(yīng);接下來是生成頁面內(nèi)容,把結(jié)果賦予內(nèi)容的標(biāo)識符;然后,依次解析各個模板文件,模板類將執(zhí)行必要的替換操作;最后把解析結(jié)果輸出到瀏覽器。
這個文件完全由PHP代碼構(gòu)成,不包含任何HTML代碼,這是它最大的優(yōu)點(diǎn)?,F(xiàn)在,PHP程序員可以集中精力編寫生成頁面內(nèi)容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔(dān)心。
你可以使用這種方法和上面的文件構(gòu)造出一個完整的網(wǎng)站。如果PHP代碼是以URL中的查詢字符串為基礎(chǔ)生成頁面內(nèi)容,例如,你可以據(jù)此構(gòu)造出一個完整的雜志網(wǎng)站。
很容易看出采用模板還有第二個好處。如上例所示,頁面左邊的導(dǎo)航條單獨(dú)保存為一個文件,我們只需編輯這一個模板文件就可以改變網(wǎng)站所有頁面左邊的導(dǎo)航條。
獨(dú)立完成^^ 我想一個網(wǎng)站就是普通的HTML就可以了吧,至于PHP可以用來檢查用戶啊,存儲數(shù)據(jù)之類的。
這個,首先你得做得出一個普通HTML的網(wǎng)頁?,F(xiàn)在比較流行的是DIV CSS設(shè)計(jì)了。你能隨便看到一個網(wǎng)頁,就可以把這個網(wǎng)頁的HTML版本寫出來,而不去理它里面需要些什么PHP技術(shù)的。
HTML網(wǎng)頁做出來到了,那么再用PHP的函數(shù)去實(shí)現(xiàn)從數(shù)據(jù)庫讀取或?qū)懭?,基本上就完成了吧?/p>
這個應(yīng)該是一個思想吧^^
DIV CSS 實(shí)現(xiàn)內(nèi)容和效果分離,得到HTML網(wǎng)頁后,用來做PHP的模板 ,用PHP來實(shí)現(xiàn)重復(fù)數(shù)據(jù)和判斷之類的。 三個分離 是不錯的PHP思想,條理分明,三者結(jié)合后比較有威力的^^。
DIV+CSS網(wǎng)頁布局與美化 你能把里面的CSS 作一次,自己把這些CSS寫出來,普通網(wǎng)頁布局就OK 。其實(shí)就是 DIV 的 float、 內(nèi)框,外框,必要的高度,移動之類的。
之后的 PHP模板化就學(xué)一下 孫仲岳PHP專案實(shí)戰(zhàn)講座 。
說真的,PHP都有點(diǎn)浮云,先把DIV CSS 做網(wǎng)頁搞好,這個網(wǎng)頁一出,你還怕什么網(wǎng)站了?;A(chǔ)就是HTML網(wǎng)頁啊,網(wǎng)頁不難做,難在人家隨意給你指定個網(wǎng)頁,你都不會COPY。所以先學(xué)會COPY 這些HTML網(wǎng)頁是首要,中氣十足要靠這個
我想這樣一般就算是入門了吧
PHP 低低手上
PHP的話現(xiàn)在安裝多半是用織夢的dede了吧,操作很方便的,你把下載的程序復(fù)制到你的安裝環(huán)境里面,用調(diào)試地址打開就會出現(xiàn)安裝界面了,跟安裝軟件差不多,不過要注意,第一步要下面所有的檢測都通過才可以安裝哦,第二個就是在后面的數(shù)據(jù)庫那里要注意一下,不然你后面會出現(xiàn)要么沒有權(quán)限,要么連不上數(shù)據(jù)庫的問題!
當(dāng)前標(biāo)題:php網(wǎng)站帶數(shù)據(jù)庫模版 php數(shù)據(jù)庫設(shè)計(jì)
文章來源:http://jinyejixie.com/article8/doseoop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、云服務(wù)器、App開發(fā)、網(wǎng)頁設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)