




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第1章 初識(shí)PHP 第1章 初識(shí)PHP 本章要點(diǎn):PHP的發(fā)展史、語(yǔ)言特性搭建PHP開(kāi)發(fā)環(huán)境PHP項(xiàng)目的創(chuàng)建、編輯、運(yùn)行及測(cè)試技能目標(biāo):能區(qū)分各種不同的動(dòng)態(tài)開(kāi)發(fā)語(yǔ)言能搭建PHP開(kāi)發(fā)環(huán)境,并熟悉服務(wù)器的啟動(dòng)步驟能使用Dreamweaver CS6編輯、運(yùn)行、測(cè)試PHP程序第1章 初識(shí)PHP1.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 小王是一個(gè)理工科大學(xué)的大四畢業(yè)生,想去軟件公司面試,面試官讓小王編寫(xiě)一個(gè)PHP程序,顯示”歡迎小王加入PHP團(tuán)隊(duì)”。第1章 初識(shí)PHP【問(wèn)題引導(dǎo)】(1)如何搭建PHP開(kāi)發(fā)環(huán)境?(2)如何啟動(dòng)服務(wù)器?(3)如何編輯運(yùn)行PHP程序?(4)
2、PHP用什么代碼編輯工具?第1章 初識(shí)PHP1.2技術(shù)與知識(shí)準(zhǔn)備1.2.1 PHP簡(jiǎn)介 PHP是一種在服務(wù)器端執(zhí)行的多用途腳本語(yǔ)言。PHP開(kāi)放源代碼且可嵌入到HTML中,尤其適合動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā),現(xiàn)在被很多的網(wǎng)站編程人員廣泛應(yīng)用。第1章 初識(shí)PHP1.2.2 開(kāi)發(fā)環(huán)境 本教材所用的PHP開(kāi)發(fā)環(huán)境為WAMP環(huán)境:Windows+Apache+MySQL+PHP,PHP代碼編輯工具使用DreamweaverCS6版本。1.在自己的筆記本上安裝Dreamweaver CS6。2.認(rèn)識(shí)PHP、Apache、MySQL3.PHP+Apache+MySQL的安裝有兩種方法(1)單個(gè)安裝并進(jìn)行配置(2)整合安
3、裝 WampServer第1章 初識(shí)PHP1.2.3PHP、ASP.NET、JSP比較語(yǔ)言優(yōu)點(diǎn)缺點(diǎn)ASP.NET1簡(jiǎn)潔的設(shè)計(jì)和實(shí)施。2語(yǔ)言靈活,并支持復(fù)雜的面向?qū)ο筇匦浴?開(kāi)發(fā)環(huán)境。1數(shù)據(jù)庫(kù)的連接復(fù)雜。2不具有跨平臺(tái)性,只支持windows平臺(tái)。JSP1一處編寫(xiě)隨處運(yùn)行。2系統(tǒng)的多平臺(tái)支持。3強(qiáng)大的的可伸縮性。4多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。1與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。2缺少系統(tǒng)性的資料。3開(kāi)發(fā)速度超慢PHP1一種能快速學(xué)習(xí)、跨平臺(tái)、有良好數(shù)據(jù)庫(kù)交互能力的開(kāi)發(fā)語(yǔ)言。2簡(jiǎn)單輕便,易學(xué)易用。3與Apache及其它擴(kuò)展庫(kù)結(jié)合緊密。4良好的安全性。1在windows平臺(tái)運(yùn)
4、行的安全性和穩(wěn)定性不如Linux/Unix。第1章 初識(shí)PHP1.2.4第一個(gè)PHP文件1.在D盤(pán)下新建文件夾,取名為myweb。2.啟動(dòng)Dreamweaver CS6。3.建立本地動(dòng)態(tài)站點(diǎn)mywebsite?!静襟E1】使用菜單“站點(diǎn)”/“新建站點(diǎn)”命令?!静襟E2】單擊“站點(diǎn)”下“服務(wù)器”選項(xiàng)如圖所示。 【步驟3】在“基本”選項(xiàng)卡內(nèi)設(shè)置新服務(wù)器的基本內(nèi)容。 【步驟4】單擊“高級(jí)”選項(xiàng)卡,進(jìn)行設(shè)置。 【步驟5】單擊“保存”按鈕,在彈出的對(duì)話框中勾選“測(cè)試”復(fù)選框。 第1章 初識(shí)PHP【步驟6】修改Apache的配置文件,改變網(wǎng)站的保存路徑?!静襟E7】測(cè)試動(dòng)態(tài)站點(diǎn)。【步驟8】預(yù)覽觀察結(jié)果。第1章
5、初識(shí)PHP1.2.5 PHP語(yǔ)法結(jié)構(gòu)1.XML標(biāo)記風(fēng)格(常用) 2.短標(biāo)記風(fēng)格 3.ASP標(biāo)記風(fēng)格 4.Script標(biāo)記風(fēng)格 第1章 初識(shí)PHP1.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了PHP環(huán)境的搭建及PHP項(xiàng)目的創(chuàng)建、編輯和運(yùn)行,現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)?!静襟E1】創(chuàng)建站點(diǎn)mywebsite,站點(diǎn)文件夾為D:myweb?!静襟E2】修改Apache的配置文件,改變網(wǎng)站的保存路徑。第1章 初識(shí)PHP【步驟3】使用菜單”文件”/”新建”命令,彈出如圖所示的對(duì)話框,頁(yè)面類型選擇”P(pán)HP”,文檔類型選擇”HTML 5”,單擊”創(chuàng)建”按鈕。第1章 初識(shí)PHP【步驟4】在代碼視圖下編寫(xiě)代碼如下:【步
6、驟5】使用菜單“文件”/“保存”命令,彈出如圖所示的對(duì)話框,在保存在中選擇“D:myweb”,文件名為“welcome”,保存類型選擇“PHP File”,單擊“保存”命令。第1章 初識(shí)PHP【步驟6】保存后,在文件面板中就出現(xiàn)welcome.php文件,如圖所示: 【步驟7】瀏覽效果 第1章 初識(shí)PHP1.4平行項(xiàng)目訓(xùn)練1訓(xùn)練內(nèi)容設(shè)計(jì)一個(gè)”商店計(jì)費(fèi)打折器”,運(yùn)行效果如圖所示:2訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)PHP開(kāi)發(fā)環(huán)境的了解;(2)使學(xué)生對(duì)PHP頁(yè)面的創(chuàng)建、編碼和運(yùn)行有一個(gè)比較深刻的印象和認(rèn)識(shí)。第1章 初識(shí)PHP3訓(xùn)練過(guò)程【步驟1】新建頁(yè)面,保存為Calculator.php?!静襟E
7、2】編寫(xiě)代碼,如下所示:?php$price = 500; $Cprice = $price * 0.9; echo 商品原價(jià)是:.$price.元;echo 打9折后促銷價(jià)是: . $Cprice. 元;?【步驟3】運(yùn)行結(jié)果如圖所示。第1章 初識(shí)PHP1.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了PHP的特性、開(kāi)發(fā)環(huán)境以及與ASP.NET、JSP的優(yōu)缺點(diǎn)比較,并詳細(xì)介紹了PHP環(huán)境的配置,以滿足項(xiàng)目實(shí)現(xiàn)的需求,通過(guò)一個(gè)貫穿項(xiàng)目“歡迎小王加入團(tuán)隊(duì)”和平行項(xiàng)目“商店計(jì)費(fèi)打折器”系統(tǒng)地學(xué)習(xí)了文件的創(chuàng)建、代碼的編輯以及運(yùn)行,使學(xué)生對(duì)學(xué)習(xí)PHP程序設(shè)計(jì)增加了信心和情趣。Thank you! 電子商務(wù)網(wǎng)站建
8、設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第2章 PHP基礎(chǔ) 第2章 PHP基礎(chǔ) 本章要點(diǎn):PHP的數(shù)據(jù)類型PHP的常量和變量PHP的運(yùn)算符技能目標(biāo):能選擇合適的PHP開(kāi)發(fā)環(huán)境和集成開(kāi)發(fā)工具能使用Dreamweaver CS6編輯、運(yùn)行、測(cè)試PHP程序能完成“圓形面積計(jì)算器”第2章 PHP基礎(chǔ) 2.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 小王去新單位實(shí)習(xí)后,第一個(gè)任務(wù)是完成“圓形面積計(jì)算器”,要求輸入圓的半徑,能夠計(jì)算出其面積。第2章 PHP基礎(chǔ) 【問(wèn)題引導(dǎo)】(1)如何獲取文本域的值?(2)如何計(jì)算圓形面積?(3)如何輸出運(yùn)行結(jié)果?第2章 PHP基礎(chǔ)2.2技術(shù)與知識(shí)準(zhǔn)備2.2.1數(shù)據(jù)類型 數(shù)據(jù)類型是對(duì)各種數(shù)據(jù)形態(tài)的
9、描述,如整型、浮點(diǎn)型等。在計(jì)算機(jī)中,數(shù)據(jù)類型的不同決定所占內(nèi)存存儲(chǔ)空間的大小,使用什么樣的數(shù)據(jù)類型要根據(jù)實(shí)際情況而定,基本原則是既不要浪費(fèi)存儲(chǔ)空間又不要丟失數(shù)據(jù)。在PHP中,支持8種數(shù)據(jù)類型,這8種數(shù)據(jù)類型又可以分為三類,分別是簡(jiǎn)單類型、復(fù)合類型和特殊類型。第2章 PHP基礎(chǔ)1.簡(jiǎn)單類型 boolean(布爾型):這是最簡(jiǎn)單的類型,只有兩種取值,可以為 TRUE/true 或 FALSE/false ,不區(qū)分大小寫(xiě)。 integer(整型):整型值可以使用十進(jìn)制,十六進(jìn)制或八進(jìn)制表示,前面可以加上可選的符號(hào)(- 或者 +)。八進(jìn)制表示數(shù)字前必須加上 0(零),十六進(jìn)制表示數(shù)字前必須加上 0 x
10、。 float(浮點(diǎn)型, 也稱作 double):是有小數(shù)點(diǎn)或指數(shù)形式的數(shù)字。 string(字符串):字符型變量不同于其他編程語(yǔ)言有字符與字符串之分,在PHP 中,統(tǒng)一使用字符型變量來(lái)定義字符或者字符串。第2章 PHP基礎(chǔ)2.復(fù)合類型 array(數(shù)組):數(shù)組型變量是一種比較特殊的變量類型,將在后續(xù)章節(jié)中詳細(xì)說(shuō)明。 object(對(duì)象):對(duì)象也是一種特殊的數(shù)據(jù)類型。要?jiǎng)?chuàng)建object變量,請(qǐng)使用 new 關(guān)鍵字。3.特殊類型 resource(資源):源是一種特殊變量,保存了到外部資源的一個(gè)引用。資源是通過(guò)專門的函數(shù)來(lái)建立和使用的。 NULL(NULL):表示一個(gè)變量沒(méi)有值。NULL 類型唯
11、一可能的值就是 NULL。第2章 PHP基礎(chǔ)2.2.2常量 常量是在程序執(zhí)行期間無(wú)法改變的數(shù)據(jù)。常量一般用大寫(xiě)字母表示。 語(yǔ)法格式:define(“常量名”, “常量值”) 說(shuō)明:常量定義時(shí)不需加“$”,常量是全局的,可以在腳本的任何位置引用。 舉例:第2章 PHP基礎(chǔ)2.2.3變量 變量是指在程序運(yùn)行過(guò)程中可以改變的量。變量的作用是存儲(chǔ)數(shù)據(jù)。變量必須以“$”開(kāi)頭,變量名的第二個(gè)符號(hào)必須是字母或下劃線,后面可以是字母、數(shù)字或下劃線的組合,變量名嚴(yán)格區(qū)分大小寫(xiě),若兩個(gè)變量字母相同,只是大小寫(xiě)不同,則被視為兩個(gè)變量。第2章 PHP基礎(chǔ)2.2.4運(yùn)算符 變量是指在程序運(yùn)行過(guò)程中可以改變的量。變量的作
12、用是存儲(chǔ)數(shù)據(jù)。變量必須以“$”開(kāi)頭,變量名的第二個(gè)符號(hào)必須是字母或下劃線,后面可以是字母、數(shù)字或下劃線的組合,變量名嚴(yán)格區(qū)分大小寫(xiě),若兩個(gè)變量字母相同,只是大小寫(xiě)不同,則被視為兩個(gè)變量。第2章 PHP基礎(chǔ)2.2.5表單屬性值描述屬性值描述屬性值描述methodget post規(guī)定用于發(fā)送 form-data 的 HTTP 方法。nameform_name規(guī)定表單的名稱。target_blank _self _parent _top規(guī)定在何處打開(kāi) action URLactionURL規(guī)定當(dāng)提交表單時(shí)向何處發(fā)送表單數(shù)據(jù)。enctypeapplication/x-www-form-urlencod
13、ed規(guī)定在發(fā)送表單數(shù)據(jù)之前如何對(duì)其進(jìn)行編碼。 第2章 PHP基礎(chǔ)2.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了PHP的數(shù)據(jù)類型、常量變量及運(yùn)算符,現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)。【步驟1】創(chuàng)建站點(diǎn)mywebsite,站點(diǎn)文件夾為C:myweb,在myweb文件夾中創(chuàng)建文件夾chapter02。【步驟2】修改Apache的配置文件,改變網(wǎng)站的保存路徑。【步驟3】新建PHP文件,取名為circleCal.php,保存在chapter02中。第2章 PHP基礎(chǔ)【步驟4】在代碼視圖下編寫(xiě)代碼如下: 圓形面積計(jì)算器 請(qǐng)輸入半徑 第2章 PHP基礎(chǔ)【步驟5】運(yùn)行結(jié)果如圖所示。第2章 PHP基礎(chǔ)2.4平行項(xiàng)目訓(xùn)練
14、1.訓(xùn)練內(nèi)容 修改第一章中的“商店計(jì)費(fèi)打折器”,運(yùn)行效果如圖所示:2.訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)PHP數(shù)據(jù)類型、運(yùn)算符的理解;(2)使學(xué)生對(duì)表單、$_POST、$_GET有一個(gè)比較深刻的印象和認(rèn)識(shí)。第2章 PHP基礎(chǔ)3.訓(xùn)練過(guò)程【步驟1】新建文件,取名為CalculatorII.php,保存在保存在chapter02中?!静襟E2】在代碼視圖下編寫(xiě)代碼如下: 打折計(jì)算器 請(qǐng)輸入原價(jià) 請(qǐng)輸入折扣 折 第2章 PHP基礎(chǔ) ?phpif(isset($_POSTbutton)$price=$_POSTprice;$zk=$_POSTzk;echo 原價(jià):.$price.折扣:.$zk.折扣價(jià)
15、:.$price*$zk/10;?【步驟3】運(yùn)行結(jié)果如圖所示。第2章 PHP基礎(chǔ)2.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了PHP的常量與變量的定義,并詳細(xì)介紹了PHP中的運(yùn)算符,通過(guò)一個(gè)貫穿項(xiàng)目“圓形面積計(jì)算器”和平行項(xiàng)目“商店計(jì)費(fèi)打折器”系統(tǒng)地學(xué)習(xí)了變量的定義、表單的創(chuàng)建以及$_POST變量、$_GET的使用,使學(xué)生基本掌握了PHP的相關(guān)基礎(chǔ)知識(shí)。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第3章 流程控制 第3章 流程控制 本章要點(diǎn):if、switchwhile、dowhile、for和foreachbreak和continue技能目標(biāo):會(huì)編寫(xiě)if和switch多
16、分支選擇程序代碼會(huì)編寫(xiě)for、while、dowhile和foreach循環(huán)程序代碼學(xué)會(huì)使用程序設(shè)計(jì)規(guī)范第3章 流程控制3.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 小王是一個(gè)PHP程序員,某天,領(lǐng)導(dǎo)讓小王設(shè)計(jì)一個(gè)登陸頁(yè)面,當(dāng)用戶名和密碼分別為”tcsym”和”123456”,顯示登陸成功,否則,就顯示登陸失敗,效果如圖所示:第3章 流程控制【問(wèn)題引導(dǎo)】(1)如何判斷用戶名和密碼是否正確?(2)選擇結(jié)構(gòu)如何使用?(3)如何解決頁(yè)面的跳轉(zhuǎn)問(wèn)題?第3章 流程控制3.2技術(shù)與知識(shí)準(zhǔn)備3.2.1 順序結(jié)構(gòu) 順序結(jié)構(gòu)是最基本的結(jié)構(gòu)方式,各流程依次按順序執(zhí)行。順序結(jié)構(gòu)的流程圖如圖所示:第3章 流程控制3.2.2選擇結(jié)構(gòu)1
17、.if條件控制語(yǔ)句語(yǔ)法格式:if(條件表達(dá)式) 語(yǔ)句體這種結(jié)構(gòu)是單純的判斷,當(dāng)表達(dá)式成立時(shí),執(zhí)行語(yǔ)句體。流程圖如圖所示:第3章 流程控制2.ifelse語(yǔ)句語(yǔ)法結(jié)構(gòu):if(條件表達(dá)式)語(yǔ)句體1else 語(yǔ)句體2當(dāng)條件成立時(shí),執(zhí)行語(yǔ)句體1,否則,執(zhí)行語(yǔ)句體2,流程圖如圖所示:第3章 流程控制3.ifelseif語(yǔ)句語(yǔ)法結(jié)構(gòu):if(條件表達(dá)式1)語(yǔ)句體1elseif(條件表達(dá)式2)語(yǔ)句體2elseif(條件表達(dá)式3)else語(yǔ)句體n第3章 流程控制4.switch語(yǔ)句語(yǔ)法結(jié)構(gòu)switch(表達(dá)式)case n1:語(yǔ)句1;break;case n2:語(yǔ)句2;break;default:語(yǔ)句n;第3章
18、 流程控制【示例1】輸入一個(gè)年份,判斷是否是閏年,運(yùn)行結(jié)果如圖所示:第3章 流程控制【示例2】簡(jiǎn)易計(jì)算器,運(yùn)行結(jié)果如圖所示:第3章 流程控制3.2.3循環(huán)結(jié)構(gòu)1. while語(yǔ)法格式while(條件表達(dá)式)循環(huán)體第3章 流程控制2. dowhile語(yǔ)法格式:do循環(huán)體while(條件表達(dá)式)第3章 流程控制3. for語(yǔ)法格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體第3章 流程控制【示例3】用while語(yǔ)句實(shí)現(xiàn)1+2+100,運(yùn)行結(jié)果如圖所示:【示例4】實(shí)現(xiàn)九九乘法表,運(yùn)行結(jié)果如圖所示:第3章 流程控制3.2.4 break與continue break語(yǔ)句用在循環(huán)體中。當(dāng)程序執(zhí)行到br
19、eak語(yǔ)句時(shí),就會(huì)立即結(jié)束當(dāng)前循環(huán)。 continue用于提前結(jié)束本次循環(huán),跳過(guò)剩余的代碼,在條件為真的情況下開(kāi)始執(zhí)行下一次循環(huán)。【示例5】輸入一個(gè)數(shù),判斷是否是素?cái)?shù),運(yùn)行結(jié)果如圖所示:第3章 流程控制3.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),對(duì)順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)有了一定的了解,現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)?!静襟E1】新建頁(yè)面login.php。【步驟2】新建dologin.php,用來(lái)對(duì)輸入的用戶名和密碼進(jìn)行驗(yàn)證,代碼如下所示:第3章 流程控制【步驟3】新建welcome.php,顯示”歡迎進(jìn)入PHP世界!” 第3章 流程控制3.4平行項(xiàng)目訓(xùn)練1訓(xùn)練內(nèi)容輸出1100之間不能被3整除的數(shù),
20、要求每行輸出10個(gè)數(shù)。運(yùn)行結(jié)果如圖所示:2訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的理解;(2)使學(xué)生掌握選擇結(jié)構(gòu)語(yǔ)言、循環(huán)結(jié)構(gòu)語(yǔ)言以及break、continue的運(yùn)用。第3章 流程控制3訓(xùn)練過(guò)程【步驟1】新建頁(yè)面,取名為ex3_6.php。 【步驟2】編寫(xiě)代碼,如下所示:?php $x=0;for($i=1;$i=100;$i+)if($i%3=0)continue;echo $i.t;$x+;if($x=10)$x=0;echo ;?第3章 流程控制【步驟3】運(yùn)行結(jié)果如圖所示。第3章 流程控制3.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了程序流程控制語(yǔ)句,并詳細(xì)講解了
21、continue與break語(yǔ)句在程序中的應(yīng)用,通過(guò)一個(gè)貫穿項(xiàng)目“登陸系統(tǒng)”和平行項(xiàng)目“輸出不是3的倍數(shù)”系統(tǒng)地學(xué)習(xí)了順序結(jié)構(gòu)、選擇結(jié)構(gòu)以及循環(huán)結(jié)構(gòu)的組合使用。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第4章 數(shù)組、函數(shù)與字符串 第4章 數(shù)組、函數(shù)與字符串 本章要點(diǎn):PHP函數(shù)的定義和調(diào)用PHP中數(shù)組的定義與應(yīng)用PHP中字符串的應(yīng)用技能目標(biāo):能編寫(xiě)函數(shù)并且調(diào)用函數(shù)能熟練應(yīng)用PHP的數(shù)組能綜合運(yùn)用函數(shù)進(jìn)行數(shù)據(jù)處理第4章 數(shù)組、函數(shù)與字符串4.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 跳水比賽,8個(gè)評(píng)委打分,運(yùn)動(dòng)員的成績(jī)是8個(gè)成績(jī)?nèi)サ粢粋€(gè)最高分和去掉一個(gè)最低分,剩下6個(gè)分?jǐn)?shù)的平均分就是
22、最后得分。使用一維數(shù)組實(shí)現(xiàn)打分功能,并且把最高分和最低分的評(píng)委找出來(lái)。效果如圖所示:第4章 數(shù)組、函數(shù)與字符串【問(wèn)題引導(dǎo)】(1)如何定義并初始化一維數(shù)組?(2)如何使用一維數(shù)組實(shí)現(xiàn)打分功能?(3)如何尋找一維數(shù)組的最高分和最低分?第4章 數(shù)組、函數(shù)與字符串4.2技術(shù)與知識(shí)準(zhǔn)備4.2.1數(shù)組1.索引數(shù)組 - 帶有數(shù)字索引的數(shù)組PHP索引數(shù)組有兩種創(chuàng)建索引數(shù)組的方法:(1)索引是自動(dòng)分配的(索引從 0 開(kāi)始):$cars=array(斯巴魯,JEEP,奧迪);(2)手動(dòng)分配索引:$cars0= 斯巴魯;$cars1= JEEP ;$cars2= 奧迪;遍歷并輸出索引數(shù)組的所有值,需要使用 for
23、循環(huán)。第4章 數(shù)組、函數(shù)與字符串【示例1】初始化及顯示索引數(shù)組值?php$cars=array(斯巴魯,JEEP,奧迪);$arrlength=count($cars);for($x=0;$x$arrlength;$x+) echo $cars$x; echo ; ?第4章 數(shù)組、函數(shù)與字符串2.關(guān)聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組關(guān)聯(lián)數(shù)組是使用分配給數(shù)組的指定鍵的數(shù)組,有兩種創(chuàng)建關(guān)聯(lián)數(shù)組的方法:(1)$age=array(Peter=35,Ben=37,Joe=43);(2)$agePeter=35;$ageBen=37;$ageJoe=43;【示例2】初始化及顯示關(guān)聯(lián)數(shù)組值第4章 數(shù)組、函數(shù)與字
24、符串?dāng)?shù)組的函數(shù)很多,下面我們來(lái)介紹一下:1.array()創(chuàng)建數(shù)組可以使用array()函數(shù),語(yǔ)法如下:array($Keys=$values,)例如:$cars=array(斯巴魯,JEEP,奧迪);$age=array(Bill=35,Steve=37,Peter=43);2.print_r()按照一定格式顯示鍵名和值。例如:輸出結(jié)果:Array ( 0 = Dog 1 = Cat 2 = Horse )第4章 數(shù)組、函數(shù)與字符串3.count()函數(shù)獲得數(shù)組的長(zhǎng)度,用于返回?cái)?shù)組的長(zhǎng)度(元素?cái)?shù))。4. list()把數(shù)組中的值賦給一些變量。例如:輸出結(jié)果為:Dog, Cat, Horse第
25、4章 數(shù)組、函數(shù)與字符串pact()函數(shù)創(chuàng)建包含變量名和它們的值的數(shù)組。輸出結(jié)果:Array ( n = 太倉(cāng) s = 健雄 arr = Array ( 0 = red 1 = green 2 = blue ) )第4章 數(shù)組、函數(shù)與字符串6.range()函數(shù)創(chuàng)建包含指定范圍單元的數(shù)組。例如:輸出結(jié)果:Array ( 0 = 1 1 = 2 2 = 3 3 = 4 4 = 5 )第4章 數(shù)組、函數(shù)與字符串7.in_array()檢查數(shù)組中是否存在指定的值。例如:輸出結(jié)果:匹配已找到第4章 數(shù)組、函數(shù)與字符串8.array_search()array_search() 函數(shù)在數(shù)組中搜索某個(gè)鍵值
26、,并返回對(duì)應(yīng)的鍵名。如果找到了該值,匹配元素的鍵名會(huì)被返回。如果沒(méi)找到,則返回 false。輸出結(jié)果:0第4章 數(shù)組、函數(shù)與字符串9.key()從關(guān)聯(lián)數(shù)組中取得鍵名。例如:35,Ben=37,Joe=43);echo key($age);?輸出結(jié)果:Peter第4章 數(shù)組、函數(shù)與字符串4.2.2函數(shù) PHP 除了內(nèi)建的 PHP 函數(shù),我們可以創(chuàng)建自己的函數(shù)。函數(shù)是可以在程序中重復(fù)使用的語(yǔ)句塊。頁(yè)面加載時(shí)函數(shù)不會(huì)立即執(zhí)行。函數(shù)只有在被調(diào)用時(shí)才會(huì)執(zhí)行。在 PHP 創(chuàng)建用戶自定義函數(shù),聲明以關(guān)鍵詞 function 開(kāi)頭,語(yǔ)法:function functionName() 被執(zhí)行的代碼;第4章 數(shù)
27、組、函數(shù)與字符串【示例3】?jī)蓴?shù)相加案例【示例4】改進(jìn)兩數(shù)相加案例第4章 數(shù)組、函數(shù)與字符串【示例5】求1+2!+3!+.+5!的和第4章 數(shù)組、函數(shù)與字符串4.2.3 字符串1.strlen() 函數(shù)strlen() 函數(shù)返回字符串的長(zhǎng)度,以字符計(jì)。2.strpos() 函數(shù)strpos() 函數(shù)用于檢索字符串內(nèi)指定的字符或文本。如果找到匹配,則會(huì)返回首個(gè)匹配的字符位置。如果未找到匹配,則將返回 FALSE。3.echo()輸出一個(gè)或多個(gè)字符串。第4章 數(shù)組、函數(shù)與字符串4.print()、printf()print()是輸出字符串,printf()是輸出格式化的字符串。5.strtolowe
28、r()、strtoupper()strtolower()把字符串轉(zhuǎn)換為小寫(xiě)字母strtoupper()把字符串轉(zhuǎn)換為大寫(xiě)字母。6.trim()、ltrim()、rtrim()trim()移除字符串兩側(cè)的空白字符和其他字符。ltrim()移除字符串左側(cè)的空白字符或其他字符。rtrim ()移除字符串右側(cè)的空白字符或其他字符。第4章 數(shù)組、函數(shù)與字符串7.str_replace()、substr_replace()str_replace()替換字符串中的一些字符(對(duì)大小寫(xiě)敏感)。substr_replace()把字符串的一部分替換為另一個(gè)字符串。第4章 數(shù)組、函數(shù)與字符串8.字符串的比較:strc
29、mp()、strcasecmp()、strncmp()、strncasecmp()strcmp()用于區(qū)分大小寫(xiě)的字符串的比較strcasecmp()用于不區(qū)分大小寫(xiě)的字符串的比較strncmp()用于比較字符串的一部分strncasecmp()作用與strncmp()函數(shù)一樣,只是不區(qū)分大小寫(xiě)9.explode()、implode()explode()把字符串打散為數(shù)組。implode()返回由數(shù)組元素組合成的字符串。第4章 數(shù)組、函數(shù)與字符串【示例6】字符串替換案例,運(yùn)行結(jié)果如圖所示:第4章 數(shù)組、函數(shù)與字符串4.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了函數(shù)的創(chuàng)建和調(diào)用、數(shù)組的定義與應(yīng)用以
30、及PHP中的字符串,現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)?!静襟E1】創(chuàng)建站點(diǎn)mywebsite,站點(diǎn)文件夾為C:myweb。【步驟2】修改Apache的配置文件,改變網(wǎng)站的保存路徑。【步驟3】新建頁(yè)面取名為refereeJudge.php,保存在chapter04文件夾中?!静襟E4】在代碼視圖下編寫(xiě)代碼如下:第4章 數(shù)組、函數(shù)與字符串?phpif(isset($_POSTsub)$p1=$_POSTone;$p2=$_POSTtwo;$p3=$_POSTthree;$p4=$_POSTfour;$p5=$_POSTfive;$p6=$_POSTsix;$p7=$_POSTseven;$p8=$_POST
31、eight;$arr = array($p1,$p2,$p3,$p4,$p5,$p6,$p7,$p8);$total=0;第4章 數(shù)組、函數(shù)與字符串for($i=0;$icount($arr);$i+) $total+=$arr$i;$last=($total-max($arr)-min($arr)/(count($arr)-2);echo 除去最高分和最低分的最后得分為:.($total-max($arr)-min($arr).;echo 除去最高分和最低分的最后得分的平均分為:.round($last,3).;$max_k=array_search(max($arr),$arr);$min
32、_k=array_search(min($arr),$arr);echo 最高分是第.($max_k+1).評(píng)委打.max($arr).分;echo 最低分是第.($min_k+1).評(píng)委打.min($arr).分;?第4章 數(shù)組、函數(shù)與字符串4.4平行項(xiàng)目訓(xùn)練1訓(xùn)練內(nèi)容定義一個(gè)函數(shù),實(shí)現(xiàn)星星的輸出,運(yùn)行結(jié)果如圖所示:2訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)函數(shù)定義與調(diào)用的理解;(2)使學(xué)生對(duì)函數(shù)定義、表單、文本域等有一個(gè)比較深刻的印象和認(rèn)識(shí)。第4章 數(shù)組、函數(shù)與字符串3訓(xùn)練過(guò)程【步驟1】新建頁(yè)面,取名為inputStar.php,保存在chapter04?!静襟E2】在代碼視圖中編寫(xiě)代碼:?ph
33、pfunction f1($x)for($i=1;$i=$x;$i+) for($k=0;$k+$i=$x;$k+) echo *t; echo ;if(isset($_POSTbutton)f1($_POSTtextfield);?第4章 數(shù)組、函數(shù)與字符串4.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了函數(shù)的定義與調(diào)用以及參數(shù)的傳值,并詳細(xì)介紹了字符串函數(shù)以及數(shù)組的定義與初始化,通過(guò)一個(gè)貫穿項(xiàng)目“裁判打分”和平行項(xiàng)目“星星矩陣”系統(tǒng)地學(xué)習(xí)了函數(shù)的定義、數(shù)組的定義與初始化及求平均等,使學(xué)生能夠掌握數(shù)組、字符串及函數(shù)的相關(guān)知識(shí)。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第
34、5章 文件與目錄 第5章 文件與目錄 本章要點(diǎn):PHP中文件的操作PHP中目錄的操作技能目標(biāo):操作系統(tǒng)的文件與目錄能綜合運(yùn)用函數(shù)進(jìn)行數(shù)據(jù)處理第5章 文件與目錄5.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 開(kāi)發(fā)一個(gè)文件讀取系統(tǒng)。能夠創(chuàng)建文件,在文件中寫(xiě)內(nèi)容。又能讀取硬盤(pán)上的某個(gè)文件,在頁(yè)面中顯示文件的相應(yīng)內(nèi)容,運(yùn)行效果如圖所示:第5章 文件與目錄【問(wèn)題引導(dǎo)】(1)如何創(chuàng)建文件?(2)如何讀取文件的內(nèi)容?(3)如何把內(nèi)容寫(xiě)入文件中?第5章 文件與目錄5.2技術(shù)與知識(shí)準(zhǔn)備5.2.1目錄 1.新建目錄 使用mkdir()函數(shù)可以根據(jù)提供的目錄名或目錄的全路徑創(chuàng)建新的目錄,如果創(chuàng)建成功,則返回True,否則返回Fals
35、e。 例如在當(dāng)前目錄下創(chuàng)建一個(gè)hellosym的目錄。第5章 文件與目錄2.刪除目錄 使用rmdir()函數(shù)可以刪除一個(gè)空目錄,如果目錄不為空,則必須先刪除目錄中的所有文件才能刪除目錄。例如將剛才的hellosym目錄刪除。3.獲取當(dāng)前工作目錄 當(dāng)前工作目錄是指正在運(yùn)行的文件所在的目錄,使用getcwd()函數(shù)可以取得當(dāng)前的工作目錄,該函數(shù)沒(méi)有參數(shù),成功則返回當(dāng)前的工作目錄,失敗則返回False。 /輸出結(jié)果:c:myweb第5章 文件與目錄4.打開(kāi)或關(guān)閉目錄句柄 文件和目錄的訪問(wèn)都是通過(guò)句柄來(lái)實(shí)現(xiàn)的,使用opendir()函數(shù)則可以打開(kāi)一個(gè)目錄句柄,該函數(shù)的參數(shù)是打開(kāi)的目錄路徑,打開(kāi)成功則返
36、回True,失敗則返回False。使用完一個(gè)已經(jīng)打開(kāi)的目錄句柄后,要使用closedir()函數(shù)來(lái)關(guān)閉這個(gè)句柄。5.獲取指定路徑的目錄和文件 scandir()函數(shù)可列出指定目錄中的文件和目錄,語(yǔ)法格式如下:array scandir(string $directory,int $sorting_order,resource $context)$directory為指定路徑 $context是一個(gè)資源變量$sorting_order默認(rèn)按字母升序排列,如果設(shè)為1,則表示按字母的降序排列。第5章 文件與目錄6.對(duì)象是否是目錄 使用is_dir()函數(shù)檢查上級(jí)目錄下的目標(biāo)對(duì)象logo.jpg是否是
37、目錄。如果目標(biāo)對(duì)象是目錄系統(tǒng)返回true,否則返回false。$checkResult = is_dir(./logo.jpg);7.獲取目錄中的所有文件名(1)先打開(kāi)要操作的目錄,并用一個(gè)變量指向它。(2)循環(huán)的讀取目錄下的所有文件。第5章 文件與目錄(3)目錄下都會(huì)有兩個(gè)文件,名字為.和.,不要對(duì)他們進(jìn)行操作(4)進(jìn)行處理(5)關(guān)閉目錄【示例1】要求使用opendir函數(shù)、readdir()、closedir()三個(gè)函數(shù)編寫(xiě)讀取chapter05 目錄下所有的文件及文件夾名稱。第5章 文件與目錄5.2.2文件1.打開(kāi)文件2.關(guān)閉文件文件處理完畢,需要使用fclose()函數(shù)關(guān)閉文件,語(yǔ)法格
38、式如下:fclose(resource $handle)3.寫(xiě)入文件 fwrite()函數(shù):文件打開(kāi)后,向文件中寫(xiě)入內(nèi)容可以使用fwrite()函數(shù),語(yǔ)法格式如下:int fwrite(resource $handle,string $string,int $length)第5章 文件與目錄4.讀取文件(1)fread()(2)file()、readfile()(3)fgets()fgets() 函數(shù)用于從文件讀取單行。(4)fgetc()fgetc() 函數(shù)用于從文件中讀取單個(gè)字符。(5)file_get_contents()將整個(gè)或部分文件內(nèi)容讀取到一個(gè)字符串中,功能與依次調(diào)用fopen(
39、)、fread()和fclose()的功能一樣。第5章 文件與目錄5.刪除文件例如:刪除當(dāng)前目錄下的a.txt$deleteResult =unlink(a.txt);6.判斷文件是否存在file_exists例如:檢查上級(jí)目錄下的文件logo.jpg是否存在。$existResult = file_exists(“./logo.jpg”);說(shuō)明:如果文件存在系統(tǒng)返回true,否則返回false。7.文件大小函數(shù)例如:獲取上級(jí)目錄下的文件logo.png的大小。$size = filesize(./logo.png);說(shuō)明:系統(tǒng)會(huì)返回一個(gè)數(shù)字,表示文件的大小是多少字節(jié)(bytes)。第5章 文
40、件與目錄8.復(fù)制文件函數(shù)例如:將當(dāng)前目錄下的a.txt,復(fù)制到上一級(jí)目錄的chapter04目錄中,重命名為ab.txt。9.重命名文件函數(shù)10.文件指針操作函數(shù)(1)feof該函數(shù)檢測(cè)是否已到達(dá)文件末尾 (eof)。(2)rewind該函數(shù)將文件指針的位置倒回文件的開(kāi)頭。(3)ftell返回在打開(kāi)文件中的當(dāng)前位置。(4)fseek第5章 文件與目錄【示例2】創(chuàng)建一程序,讀取chapter05文件夾下的file.txt文件,并在頁(yè)面上顯示出來(lái)。第5章 文件與目錄5.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了文件和目錄的操作及其函數(shù),現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)?!静襟E1】創(chuàng)建站點(diǎn)mywebsite
41、,站點(diǎn)文件夾為C:myweb?!静襟E2】修改Apache的配置文件,改變網(wǎng)站的保存路徑?!静襟E3】新建文件,取名為ex5_3.php,保存到chapter05文件夾中。進(jìn)行頁(yè)面布局。 第5章 文件與目錄【步驟4】編寫(xiě)PHP代碼:?phpif(isset($_POSTread)$filename=$_POSTrfilename;$fp=fopen($filename, r);$content=;while(!feof($fp)$data=fread($fp,8192);$content.=$data;第5章 文件與目錄echo $content;fclose($fp); if(isset($_P
42、OSTwrite)$content=$_POSTtextarea;$filename=$_POSTwfilename;$fp=fopen($filename, w);$n=fwrite($fp, $content);if($n!=0)echo alert(寫(xiě)入成功!);elseecho alert(寫(xiě)入失敗!);fclose($fp); ? 第5章 文件與目錄5.4平行項(xiàng)目訓(xùn)練1訓(xùn)練內(nèi)容實(shí)現(xiàn)文件的復(fù)制與移動(dòng)。運(yùn)行效果如圖所示:2訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)文件的操作;(2)使學(xué)生對(duì)復(fù)制與移動(dòng)文件有一個(gè)比較清晰的了解。第5章 文件與目錄3訓(xùn)練過(guò)程【步驟1】新建文件ex5_4.php,保存
43、在chapter05文件夾中。進(jìn)行頁(yè)面布局,代碼如下:【步驟2】編寫(xiě)PHP代碼:?phpif(isset($_POSTcbutton)$source=$_POSTycopy;$destination=$_POSTmcopy;$result=copy($source, $destination);第5章 文件與目錄if($result=true)echo alert(復(fù)制成功!);elseecho alert(復(fù)制失敗!);if(isset($_POSTmbutton)$source=$_POSTymove;$destination=$_POSTmmove;$result=copy($sourc
44、e, $destination);unlink($source);第5章 文件與目錄if($result=true)echo alert(移動(dòng)成功!);elseecho alert(移動(dòng)失敗!);?第5章 文件與目錄5.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了目錄的創(chuàng)建、刪除,并詳細(xì)講解了文件的讀取、寫(xiě)入以及復(fù)制和移動(dòng)等操作,通過(guò)一個(gè)貫穿項(xiàng)目“文件讀取系統(tǒng)”和平行項(xiàng)目“文件的復(fù)制與移動(dòng)”系統(tǒng)地學(xué)習(xí)了文件的打開(kāi)、關(guān)閉、讀取與寫(xiě)入等操作。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第6章 面向?qū)ο蟪绦蛟O(shè)計(jì) 第6章 面向?qū)ο蟪绦蛟O(shè)計(jì) 本章要點(diǎn):了解面向?qū)ο蟮母拍钫莆疹?、?duì)象的
45、概念和關(guān)系掌握面向?qū)ο蟮娜筇匦裕豪^承、重載與封裝技能目標(biāo):能了解面向?qū)ο笈c面向過(guò)程編程的特點(diǎn)能合理使用面向?qū)ο笾械某S藐P(guān)鍵字能根據(jù)掌握的面向?qū)ο笾R(shí)實(shí)現(xiàn)新華書(shū)店收銀計(jì)算器功能第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 小李在新華書(shū)店購(gòu)買文具,計(jì)劃購(gòu)買任意的兩樣文具,小李感覺(jué)應(yīng)該編寫(xiě)一個(gè)簡(jiǎn)易的“新華書(shū)店計(jì)算器”來(lái)精確地計(jì)算最終文具的總價(jià)。為了便于實(shí)現(xiàn),限定購(gòu)買兩樣文具。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【問(wèn)題引導(dǎo)】(1)如何創(chuàng)建文具類?(2)如何創(chuàng)建文具對(duì)象來(lái)描述文具?(3)文具如何計(jì)算價(jià)格? 第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.2技術(shù)與知識(shí)準(zhǔn)備6.2.1 類與對(duì)象 類是面向?qū)ο缶幊讨械幕締挝?,它?/p>
46、具有相同屬性和功能方法的集合。在類里擁有兩個(gè)基本的元素:成員屬性和成員方法。 對(duì)象是類的實(shí)例,對(duì)象擁有該類的所有屬性和方法。因此對(duì)象建立在類基礎(chǔ)上,類是產(chǎn)生對(duì)象的基本單位。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)1.類的定義name; ?第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)2.類的實(shí)例化name; $stu=new student();echo $stu-getStuInfo(); ?第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)3.注意點(diǎn)(1)類名不可與內(nèi)置關(guān)鍵字或函數(shù)重名(2)類名只能英文大小寫(xiě)字母或_開(kāi)頭(3)類名如果是多個(gè)單詞的組合,則建議從第二個(gè)單詞開(kāi)始首字母大寫(xiě)【示例1】新建汽車類,實(shí)現(xiàn)如圖所示效果第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【示例2
47、】定義圓柱體體積的類CylinderVol,定義圓柱體表面積的類CylinderArea,要求計(jì)算表面積和體積,運(yùn)行結(jié)果如圖所示:第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.2.2 構(gòu)造方法與析構(gòu)方法 大多數(shù)類都有一個(gè)稱為構(gòu)造方法的特殊方法。當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),它將自動(dòng)調(diào)用構(gòu)造方法,也就是使用new關(guān)鍵字來(lái)實(shí)例化對(duì)象時(shí)自動(dòng)調(diào)用構(gòu)造方法。構(gòu)造方法的聲明與其他操作的聲明一樣,就是其名稱必須是_construct()。這里要注意的是construct前面是兩個(gè)下劃線。在一個(gè)類中只能聲明一個(gè)構(gòu)造方法,而且在每次創(chuàng)建對(duì)象時(shí)都會(huì)調(diào)用一次構(gòu)造方法,不能主動(dòng)地調(diào)用這個(gè)方法,通常用它執(zhí)行一些初始化任務(wù)。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【
48、示例3】將示例2改用構(gòu)造方法來(lái)實(shí)現(xiàn)初始化?!臼纠?】定義學(xué)生類,實(shí)現(xiàn)如圖所示效果:第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【示例5】析構(gòu)方法示例,如圖所示:第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.2.3繼承與重載 面向?qū)ο缶幊痰娜蠡疽厥抢^承、封裝和多態(tài)。繼承是PHP5面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特性之一,它是指建立一個(gè)新的派生類,從一個(gè)或多個(gè)先前定義的類中繼承數(shù)據(jù)和函數(shù),而且可以重新定義或加進(jìn)新數(shù)據(jù)和函數(shù),從而建立了類的層次或等級(jí)。如果一個(gè)類A繼承自另一個(gè)類B,就把A稱為B的子類,而把B稱為A的父類。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【示例6】定義父類person,定義子類student和teacher,實(shí)現(xiàn)如圖所示效果:第6章
49、面向?qū)ο蟪绦蛟O(shè)計(jì)6.2.4 封裝 封裝性是面向?qū)ο缶幊讨械娜筇匦灾?。封裝性就是把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立的單位,并盡可能隱藏對(duì)象的內(nèi)部細(xì)節(jié)。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.2.5 多態(tài) 多態(tài)是指在面向?qū)ο笾心軌蚋鶕?jù)使用類的上下文來(lái)重新定義或改變類的性質(zhì)和行為。PHP不支持重載實(shí)現(xiàn)多態(tài),但是PHP可以變向的實(shí)現(xiàn)多態(tài)效果?!臼纠?】多態(tài)示例,運(yùn)行效果如圖所示:第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.2.6抽象方法和抽象類 什么是抽象方法呢?人們?cè)陬惱锩娑x的沒(méi)有方法體的方法就是抽象方法。所謂沒(méi)有方法體指的是在方法聲明的時(shí)候沒(méi)有大括號(hào)以及其中的內(nèi)容,而是在聲明時(shí)直接在方法名小括號(hào)后加上分號(hào)結(jié)束。另外,在聲
50、明抽象方法時(shí)還要加一個(gè)關(guān)鍵字abstract來(lái)修飾。抽象類也是使用abstract關(guān)鍵字來(lái)修飾。在抽象類中至少有一個(gè)方法是抽象方法,用abstract來(lái)修飾類。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了類的創(chuàng)建方法,如何編寫(xiě)構(gòu)造方法,如何實(shí)現(xiàn)繼承等?,F(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)。【步驟1】創(chuàng)建站點(diǎn)mywebsite,站點(diǎn)文件夾為C:myweb。【步驟2】修改Apache的配置文件,改變網(wǎng)站的保存路徑。【步驟3】新建文件,取名為stationeryCal.php,保存在chapter06文件夾中?!静襟E4】進(jìn)行頁(yè)面布局。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)【步驟5】編寫(xiě)PHP代碼:n
51、um1=$n1;$this-num2=$n2;$this-price1=$n3;$this-price2=$n4;第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)function Cal()$sum=$this-num1*$this-price1+$this-num2*$this-price2;return $sum;if(isset($_POSTcal)$p1=$_POSTp1;$p2=$_POSTp2;$num1=$_POSTnum1;$num2=$_POSTnum2;第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)$calculator=new price($num1,$num2,$p1,$p2);$sum=$calculator-C
52、al();echo 購(gòu)買商品1:.$num1.件,單價(jià):.$p1.元;echo 購(gòu)買商品2:.$num2.件,單價(jià):.$p2.元;echo 總計(jì)為:.$sum;?第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.4平行項(xiàng)目訓(xùn)練1.訓(xùn)練內(nèi)容設(shè)計(jì)一個(gè)學(xué)生信息系統(tǒng),實(shí)現(xiàn)如圖所示效果:2.訓(xùn)練目的(1)掌握面向?qū)ο笏枷?,學(xué)會(huì)類的創(chuàng)建、屬性和方法的定義;(2)學(xué)會(huì)對(duì)象的創(chuàng)建及繼承的運(yùn)用等。第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)3.訓(xùn)練過(guò)程【步驟1】新建頁(yè)面,取名為stu.php,保存在chapter06文件夾中?!静襟E2】主要代碼如下:$xstu=new xStudent(1201,王麗,女,江蘇太倉(cāng),二(4)班);$xstu-showI
53、nfo();$xstu=new dStudent(13001,孫明,男,江蘇南京,軟件與服務(wù)外包學(xué)院);$xstu-showInfo();第6章 面向?qū)ο蟪绦蛟O(shè)計(jì)6.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了類和對(duì)象的概念,類的成員屬性和成員方法的定義,構(gòu)造方法和析構(gòu)方法的定義及應(yīng)用等,又詳細(xì)介紹了面向?qū)ο缶幊痰娜蠡疽兀豪^承、封裝和多態(tài)。通過(guò)一個(gè)貫穿項(xiàng)目“新華書(shū)店計(jì)算器”和平行項(xiàng)目“學(xué)生信息系統(tǒng)”系統(tǒng)地學(xué)習(xí)了類的定義和實(shí)例化,構(gòu)造方法的運(yùn)用等,使學(xué)生對(duì)面向?qū)ο缶幊逃幸粋€(gè)具體的了解。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第7章 表單設(shè)計(jì) 第7章 表單設(shè)計(jì)本章要點(diǎn)
54、:了解表單的常用屬性掌握表單控件內(nèi)容的檢測(cè)方法掌握網(wǎng)頁(yè)中調(diào)用JavaScript腳本的方法技能目標(biāo):能檢查提交表單數(shù)據(jù)的正確性能在表單中正確插入文本域、文本區(qū)域等表單控件能熟練設(shè)置表單控件的屬性第7章 表單設(shè)計(jì)7.1 項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】 開(kāi)發(fā)一個(gè)人事管理系統(tǒng),能夠?qū)崿F(xiàn)人員的注冊(cè)功能,運(yùn)行結(jié)果如圖所示:第7章 表單設(shè)計(jì)【問(wèn)題引導(dǎo)】(1)如何設(shè)置單選按鈕、復(fù)選框?qū)傩???)如何獲取表單控件的值?(3)如何獲取復(fù)選框的值?第7章 表單設(shè)計(jì)7.2技術(shù)與知識(shí)準(zhǔn)備7.2.1表單 常常我們使用在一個(gè)網(wǎng)頁(yè)中數(shù)據(jù)提交標(biāo)簽,比如我們留言板、評(píng)論等可以填寫(xiě)數(shù)據(jù),標(biāo)簽提交處理地方都需要表單標(biāo)簽,而form表單標(biāo)簽內(nèi)
55、放輸入框input、單選、多選、提交按鈕等標(biāo)簽內(nèi)容,而輸入框、單選、多選、按鈕等控件都可以使用表單標(biāo)簽input實(shí)現(xiàn),只需賦予不同type值即可實(shí)現(xiàn)不同表單控件功能。第7章 表單設(shè)計(jì)7.2.2 表單控件1. 標(biāo)簽: 主要用于收集用戶信息,可根據(jù)不同的type屬性值,擁有多種形式。2. 標(biāo)簽: 可創(chuàng)建單選或多選菜單,類似于winform的combox或listbox。3. 標(biāo)簽: 多行文本區(qū)域,可以通過(guò) cols 和 rows 屬性來(lái)設(shè)定 textarea 的尺寸。第7章 表單設(shè)計(jì)7.2.3$_POST、$_GET和$_SESSION1.$_POST變量 預(yù)定義的$_POST變量用于收集來(lái)自me
56、thod=”post”的表單中的值。從帶有POST方法的表單發(fā)送的信息,對(duì)任務(wù)人都是不可見(jiàn)的(不會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送信息的量沒(méi)有限制。2.$_GET變量 $_GET變量是一個(gè)數(shù)組,內(nèi)容是由HTTP GET方法發(fā)送的變量名稱和值。該變量用于收集來(lái)自method=”get”的表單中的值。從帶有GET方法的表單發(fā)送的信息,對(duì)任何人都是可見(jiàn)的(會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送的信息量也有限制(最多100個(gè)字符)。第7章 表單設(shè)計(jì)3. $_SESSION PHP session用法其實(shí)很簡(jiǎn)單,它可以把用戶提交的數(shù)據(jù)以全局變量形式保存在一個(gè)session中并且會(huì)生成一個(gè)唯一的sessi
57、on_id,這樣就是為了多了不會(huì)產(chǎn)生混亂了,并且session中同一瀏覽器同一站點(diǎn)只能有一個(gè)session_id。第7章 表單設(shè)計(jì)【例1】新建用戶登錄頁(yè)面,實(shí)現(xiàn)用戶登錄功能,如果用戶名密碼正確,則跳轉(zhuǎn)到歡迎頁(yè)面,顯示歡迎;否則,跳轉(zhuǎn)到登錄頁(yè)面。1.新建登錄頁(yè)面login.php,運(yùn)行效果如圖所示:第7章 表單設(shè)計(jì)2.新建dologin.php,用來(lái)判斷用戶名密碼是否正確。第7章 表單設(shè)計(jì)3.新建歡迎頁(yè)面welcome.php,顯示效果如圖所示:第7章 表單設(shè)計(jì)7.3項(xiàng)目訓(xùn)練 通過(guò)對(duì)以上內(nèi)容的學(xué)習(xí),了解了表單及表單控件的基本操作,現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來(lái)?!静襟E1】新建register.php
58、文件,進(jìn)行頁(yè)面布局。【步驟2】編寫(xiě)PHP代碼,如下所示:?phpecho 姓名:.$_GETname.;echo 性別:.$_GETsex.;echo 年齡:.$_GETage.;echo 籍貫:.$_GETjg.;echo 學(xué)歷:.$_GETxl.;第7章 表單設(shè)計(jì)$arr=$_GETlike;echo愛(ài)好為:;foreach($arr as $value)echo $value. ;?【步驟3】保存運(yùn)行。第7章 表單設(shè)計(jì)7.4平行項(xiàng)目訓(xùn)練1訓(xùn)練內(nèi)容開(kāi)發(fā)一個(gè)猜數(shù)游戲,運(yùn)行結(jié)果如圖所示:第7章 表單設(shè)計(jì)2訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)$_SESSION的理解;(2)使學(xué)生能夠靈活運(yùn)用表單
59、、表單控件等。3訓(xùn)練過(guò)程【步驟1】新建guess.php,進(jìn)行頁(yè)面布局?!静襟E2】新建control.php,編寫(xiě)代碼如下所示:$_POSTsnum) header(location:larger.php);else header(location:smaller.php);?第7章 表單設(shè)計(jì)【步驟3】新建larger.php,編寫(xiě)代碼如下所示:你猜的數(shù)比系統(tǒng)生成的數(shù)大,請(qǐng)?jiān)俨乱淮危≌?qǐng)?jiān)谙旅娴奈谋究蛑休斎?100之間的任意整數(shù)input type=hidden name=snum value=第7章 表單設(shè)計(jì)【步驟4】新建smaller.php,編寫(xiě)代碼如下所示:你猜的數(shù)比系統(tǒng)生成的數(shù)小,請(qǐng)?jiān)?/p>
60、猜一次!請(qǐng)?jiān)谙旅娴奈谋究蛑休斎?100之間的任意整數(shù)input type=hidden name=snum value=第7章 表單設(shè)計(jì)【步驟5】新建ok.php,編寫(xiě)代碼如下所示:恭喜你,猜對(duì)了!第7章 表單設(shè)計(jì)7.5總結(jié) 本單元通過(guò)簡(jiǎn)單項(xiàng)目示例,介紹了表單及表單控件的使用,同時(shí)通過(guò)一個(gè)具體的案例講述了$_SESSION及$_POST的運(yùn)用,通過(guò)一個(gè)貫穿項(xiàng)目“人事管理系統(tǒng)”和平行項(xiàng)目“猜數(shù)游戲”系統(tǒng)地學(xué)習(xí)了復(fù)選框、單選按鈕等表單控件的應(yīng)用,$_SESSION的使用等,使學(xué)生對(duì)表單設(shè)計(jì)有一個(gè)比較清晰的了解。Thank you! 電子商務(wù)網(wǎng)站建設(shè)-PHP+MySQL項(xiàng)目開(kāi)發(fā)教程第8章 MySQL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年布絨填充玩具項(xiàng)目可行性研究報(bào)告
- 2025年五金塑膠電筒行業(yè)深度研究分析報(bào)告
- 2025年葡萄柚茶項(xiàng)目可行性研究報(bào)告
- 吸塑片材機(jī)行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025至2030年中國(guó)香芋粒數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 《峨日朵雪峰之側(cè)》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)
- 2025年中國(guó)激光美容儀行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 2025年油面窗項(xiàng)目可行性研究報(bào)告
- 2025年渦輪風(fēng)扇發(fā)動(dòng)機(jī)合作協(xié)議書(shū)
- 2025年年云服務(wù)合作協(xié)議書(shū)
- 2024年廣告部業(yè)務(wù)年度工作計(jì)劃樣本(3篇)
- 《大學(xué)生創(chuàng)新創(chuàng)業(yè)實(shí)務(wù)》課件-2.1創(chuàng)新思維訓(xùn)練 訓(xùn)練創(chuàng)新思維
- 能源管理軟件招標(biāo)模板高效節(jié)能
- 城鄉(xiāng)環(huán)衛(wèi)保潔投標(biāo)方案
- 有效喝酒免責(zé)協(xié)議書(shū)(2篇)
- 《高血脂相關(guān)知識(shí)》課件
- 統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)3《古詩(shī)三首》課件
- 雅禮中學(xué)2024-2025學(xué)年初三創(chuàng)新人才選拔數(shù)學(xué)試題及答案
- 廣東清遠(yuǎn)人文介紹
- 豐田的全面質(zhì)量管理
- 《黃金基礎(chǔ)知識(shí)培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論