首先筆者需要申明一點(diǎn)的是,我們不是只用PHP來開發(fā)一個(gè)完整的網(wǎng)站程序,而是說在服務(wù)器端所用的語言是PHP。
大致說一下我們在做一個(gè)完整的網(wǎng)站所要用到的技術(shù)知識吧。
首先,在網(wǎng)站前臺我們必須具備的是HTML,CSS還有Javascript ,你也可以根據(jù)你的需要來適當(dāng)?shù)募尤胄ゝlash等,不過筆者覺得這個(gè)不是必須的。畢竟一個(gè)網(wǎng)站flas*等多了的話會減慢你網(wǎng)頁的下載速度,無可厚非用戶也不會等待你的網(wǎng)頁全部下載完,而是選擇離開,所以筆者不建議用過多的flash。但是在有些門戶網(wǎng)站的話那就要另提了。
HTML知識是每個(gè)網(wǎng)站設(shè)計(jì)者所必備的知識,學(xué)起來不難,除了一些標(biāo)簽、標(biāo)簽屬性和標(biāo)簽值外,沒有技術(shù)含量的,所以盡量在短的時(shí)間內(nèi)熟悉這些標(biāo)簽很有必要。
CSS幾乎在現(xiàn)在的每個(gè)網(wǎng)站中都要用的,用來美化我們的網(wǎng)頁,很強(qiáng)大。筆者認(rèn)為跟HTML沒什么兩樣,為HTML標(biāo)簽的屬性設(shè)置值。
Javascript相對前臺來說是很重要的,有很多學(xué)員說javascript很簡單,但筆者不這么認(rèn)為。javascript畢竟也是一門成熟的程序語言,我覺得不比PHP容易,相反還要比PHP難些,
前臺我們學(xué)的差不多了,就要開始了解后臺,web開發(fā)中服務(wù)器端用PHP很穩(wěn)定,學(xué)起來也很容易上手。光有PHP還不行,我們要用到數(shù)據(jù)庫,這里我們選擇的是MySQL,軟件小,安裝快速,我也是一直用的這個(gè)。呵呵,寫到這里有些網(wǎng)友可能會說我是不是跑題了?其實(shí)不然,我們要知道一個(gè)完整的網(wǎng)站的開發(fā)過程,那么我們就要了解在開發(fā)這個(gè)網(wǎng)站我們需要具備的技術(shù)知識,我覺得是很有必要的。下面我們進(jìn)入正題開發(fā)一個(gè)網(wǎng)站網(wǎng)站的步驟:
第一步:數(shù)據(jù)庫的設(shè)計(jì)
也有些人會說第一步應(yīng)該是需求分析!呵呵,筆者認(rèn)為要做到數(shù)據(jù)庫的設(shè)計(jì)那么必定是做了需求分析的。是吧?那么怎樣來設(shè)計(jì)我們的數(shù)據(jù)庫呢?首先你的對你的整個(gè)網(wǎng)站的需求有個(gè)大致的了解,比如數(shù)據(jù)庫中哪張表來存放網(wǎng)站中的什么數(shù)據(jù)。打個(gè)比方:我們可以用將網(wǎng)站的配置信息,比如說網(wǎng)站名稱、聯(lián)系的qq、網(wǎng)站地址、網(wǎng)站備案信息等存放在數(shù)據(jù)庫的表webconfig這張數(shù)據(jù)表中。當(dāng)我們在網(wǎng)站前臺如title處要顯示網(wǎng)站名稱、網(wǎng)站底部顯示聯(lián)系的地址等,只要從數(shù)據(jù)庫中將這些信息取出來放到這些位置就OK啦!數(shù)據(jù)庫設(shè)計(jì)的時(shí)候要想清楚網(wǎng)站將要用到幾張數(shù)據(jù)表,數(shù)據(jù)表的需要哪些字段,字段的長度,是否是主鍵和是否允許為空等。都是要在編碼前需要想好的。
第二步:開始編碼
在我們的數(shù)據(jù)庫都設(shè)計(jì)好了之后我們就可以開始編寫網(wǎng)站的程序了,PHP編寫服務(wù)器端腳本我建議大家用PHP的模板smarty來寫,smarty能做到前臺和后臺分離。即在一個(gè)團(tuán)隊(duì)里熟悉網(wǎng)頁設(shè)計(jì)的你可以將網(wǎng)站的所有頁面都設(shè)計(jì)出來,里面不含任何PHP代碼。而熟悉PHP的我們可以單獨(dú)來寫我們的PHP腳本。這個(gè)分工合作效率很高,大部分公司也是采用的這種模式來開發(fā)程序的。至于你想用哪種開發(fā)模式你也可以根據(jù)你自己的習(xí)慣或者愛好來寫?,F(xiàn)在流行的是MVC模式,即:模型 - 視圖 - 控制器 這種模式。如果你熟悉OOP思想的話,這種模式很是適合的。開發(fā)出來的程序效率高,至于什么是MVC模式,前面的文章筆者有提到過,不熟悉的可以再去看下。
第三步:調(diào)試
當(dāng)我們的網(wǎng)站程序都寫好后,最后的一個(gè)步驟就是調(diào)試我們的程序了。如果是一個(gè)人單獨(dú)做的整個(gè)網(wǎng)站的話,這個(gè)步驟可能就不需要了,因?yàn)槟阍陂_發(fā)網(wǎng)站的時(shí)候是邊寫程序邊調(diào)試的。但在一個(gè)團(tuán)隊(duì)里面這個(gè)是必不可少的。調(diào)試的過程就是發(fā)現(xiàn)程序問題的過程,要非常細(xì)心才能做好這方面的工作。
最后就是發(fā)布網(wǎng)站了
估計(jì)對于個(gè)人來說,發(fā)布網(wǎng)站是很激動(dòng)的時(shí)刻!但是請注意網(wǎng)站上線了不代表網(wǎng)站的就是沒有問題的、完美的。其實(shí)不然,網(wǎng)站發(fā)布后用戶使用的過程它其實(shí)也是一個(gè)網(wǎng)站調(diào)試的過程。你像很多游戲商發(fā)布游戲的時(shí)候都是先發(fā)布測試版的吧!就是這個(gè)意思,在用戶使用的過程中發(fā)現(xiàn)問題并解決,這是很值得做的意見事情。
到最后總結(jié)一下,本文可能不是很詳細(xì)的告訴大家怎樣用PHP來寫完整的網(wǎng)站。但這也相當(dāng)于一個(gè)框架,在著手寫一個(gè)完整網(wǎng)站之前都是要先搭建這么一個(gè)架子的。希望對整站建設(shè)迷茫的網(wǎng)友有一點(diǎn)啟發(fā)吧。后面筆者會詳細(xì)寫一些有關(guān)PHP編程方面的知識。
原文作者:愛程序網(wǎng) 原文鏈接:
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!