版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE8PAGE8PAGE9PAGE9
課題PHP變量與常量課時2課時(90min)教學(xué)目標(biāo)知識技能目標(biāo):(1)掌握PHP變量的命名、賦值和作用域(2)了解可變變量和預(yù)定義變量(3)掌握常量的聲明和使用(4)了解預(yù)定義常量素質(zhì)目標(biāo):(1)能夠意識到PHP應(yīng)用的價值,感受PHP開發(fā)網(wǎng)站的實(shí)用性(2)培養(yǎng)學(xué)生的邏輯思維、辯證思維和創(chuàng)新思維能力教學(xué)重難點(diǎn)教學(xué)重點(diǎn):PHP變量的命名、賦值,可變變量和預(yù)定義變量,預(yù)定義常量教學(xué)難點(diǎn):PHP變量的作用域,常量的聲明和使用教學(xué)方法代碼分析法、演示法、問答法、討論法、講授法、實(shí)踐法教學(xué)用具電腦、投影儀、多媒體課件、教材教學(xué)設(shè)計(jì)第1節(jié)課:→→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→任務(wù)實(shí)施(20min)→課堂討論(15min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課課前任務(wù)【教師】布置課前任務(wù),和學(xué)生負(fù)責(zé)人取得聯(lián)系,讓其提醒同學(xué)通過文旌課堂APP或其他學(xué)習(xí)軟件,預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識【學(xué)生】完成課前任務(wù)通過課前任務(wù),使學(xué)生預(yù)習(xí)本節(jié)課要學(xué)習(xí)的知識,增加學(xué)生的學(xué)習(xí)興趣考勤(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】班干部報(bào)請假人員及原因培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問題導(dǎo)入(5min)【教師】提出以下問題:變量是什么,變量的作用是什么?通過問題導(dǎo)入,引導(dǎo)學(xué)生主動思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(28min)【教師】通過學(xué)生的回答引入要講的知識,講解PHP變量的相關(guān)知識2.4PHP變量?【教師】掃碼播放“PHP變量”視頻,并結(jié)合視頻進(jìn)行講解變量就是一個保存了一小塊數(shù)據(jù)的“對象”,任何一種編程語言都需要變量。從變量的字面意思可以理解為該數(shù)據(jù)塊中的值是可以改變的,即在不同時段內(nèi)代表不同的實(shí)體。在PHP中,變量采用“$”符號加變量名的方式來定義:$var_name=9;2.4.1變量的命名一般的編程語言都會遵循變量聲明的某些規(guī)則。這些規(guī)則包括變量的最大長度、能否包含數(shù)字或者字母、變量名是否能包含特殊字符,以及是否能以數(shù)字開頭等。在PHP中,對變量名的長度沒有任何限制,變量名中可以包含數(shù)字和字母等字符,但是需要滿足以下條件:變量名區(qū)分大小寫。變量名必須以字母或下畫線“_”開頭,不能以數(shù)字開頭。變量名只能包含字母和數(shù)字字符,以及下畫線。變量名不能包含空格。如果變量名由多個單詞組成,則應(yīng)使用下畫線進(jìn)行分隔,如$array_name;或者以大寫字母開頭,如$arrayName。?【教師】提出問題:你知道什么是關(guān)鍵字嗎??【學(xué)生】聆聽、思考、回答?【教師】總結(jié)學(xué)生的回答PHP中有些標(biāo)識符是系統(tǒng)定義的,又叫關(guān)鍵字。與其他編程語言不同的是,PHP允許使用關(guān)鍵字作為變量名,但是這樣容易混淆,不建議這樣操作。在命名變量時,最好使變量名具有一定的意義,能夠見名知義,這樣不僅有利于閱讀源代碼,也有利于對變量名的引用。2.4.2變量的賦值在PHP中使用變量前不需要聲明變量,也無須指定數(shù)據(jù)類型,只需為變量賦值即可。為變量賦值,是指給變量一個具體的數(shù)值。對于字符串和數(shù)字類型的變量,可以通過賦值運(yùn)算符“=”來實(shí)現(xiàn)。語法格式為$name=value;例如:<?php$myname="Kevin";$yourname="Henry";……?>除直接賦值外,還有兩種方式可以為變量賦值。傳值賦值:是變量間的賦值。通過“=”符號將某一個變量的值賦給另一個變量,使用這種方式賦值后兩個變量使用各自的內(nèi)存,互不干擾。引用賦值:從PHP4開始,引入了“引用賦值”的概念,它是將賦值表達(dá)式內(nèi)存空間的引用賦給另一個變量,需要在“=”符號右側(cè)的變量前面加上一個“&”符號。在使用引用賦值時,兩個變量將會指向內(nèi)存中同一存儲空間。因此任何一個變量的變化都會引起另外一個變量的變化。下面通過一個實(shí)例,來查看這兩種賦值方式的區(qū)別。?【教師】通過多媒體展示例2-13的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?phpecho"使用傳值方式賦值:</br>"; //輸出“使用傳值方式賦值”$string1="spcn"; //聲明變量$string1$string2=$string1; //使用$string1來初始化$string2echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值$string1="zhuding"; //改變變量string1的值,變量string2的值不受影響echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值echo"使用引用方式賦值:</br>"; //輸出“使用引用方式賦值”$string1="spcn"; //聲明變量$string1$string2=&$string1; //使用$string1來初始化$string2echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值$string1="zhuding"; //改變變量string1在內(nèi)存空間中存儲的內(nèi)容,變量string2也指向該空間,string2的值也發(fā)生變化echo"變量string1的值為:".$string1."<br/>"; //輸出變量string1的值echo"變量string2的值為:".$string2."<br/>"; //輸出變量string2的值?>傳值賦值和引用賦值的區(qū)別是,傳值賦值是將原變量內(nèi)容復(fù)制一份,并開辟一個新的內(nèi)存空間來保存,而引用賦值則是給變量的內(nèi)容再起一個名字。2.4.3變量的作用域在PHP中的任何位置都可以聲明變量,但是,聲明變量的位置決定了訪問變量的范圍,這個可以訪問的范圍就稱為變量的作用域。如果變量超出了作用域,就失去了其意義。按照變量作用域的不同,可以將PHP中的變量分為局部變量、全局變量和靜態(tài)變量。局部變量:在函數(shù)內(nèi)部聲明的變量,其作用域是所在函數(shù)(第4章將詳細(xì)介紹函數(shù)的相關(guān)知識)。它保存在內(nèi)存的棧中,訪問速度很快。全局變量:在所有函數(shù)外聲明的變量,其作用域是整個PHP文件,但在用戶自定義函數(shù)內(nèi)部不可用。如果要在用戶自定義函數(shù)內(nèi)部使用某個全局變量,就要使用global關(guān)鍵字聲明該全局變量。靜態(tài)變量:是一種特殊的局部變量,只存在于函數(shù)作用域內(nèi),也就是說,靜態(tài)變量只存活在棧中。一般的函數(shù)內(nèi)變量,在函數(shù)調(diào)用結(jié)束后其存儲的數(shù)據(jù)值即被清除,所占的內(nèi)存空間也被釋放;但是靜態(tài)變量卻不會,它能夠在函數(shù)調(diào)用結(jié)束后仍保留變量值,當(dāng)再次回到其作用域時,又可以繼續(xù)使用原來的值。把關(guān)鍵字static放在要定義的變量前,該變量就變?yōu)殪o態(tài)變量了。?【教師】通過多媒體展示例2-14的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?php$x=10;functiontest(){$x=50;echo"在函數(shù)內(nèi)輸出的內(nèi)容是:$x.</br>";}test();echo"在函數(shù)外輸出的內(nèi)容是:$x.</br>";?>從運(yùn)行結(jié)果可以看出,分別在函數(shù)內(nèi)外定義的變量$x,在函數(shù)內(nèi)部使用的是自己定義的局部變量$x;而在函數(shù)調(diào)用結(jié)束后,函數(shù)內(nèi)部定義的局部變量$x銷毀,輸出的是全局變量$x的值。如果要在函數(shù)內(nèi)改變?nèi)肿兞?x的值,可以使用關(guān)鍵字global。?【教師】通過多媒體展示例2-15的代碼和運(yùn)行結(jié)果,并講解知識<?php$x=10;functiontest(){global$x;$x=50;}test();echo$x;?>這是因?yàn)樵诤瘮?shù)test()中已經(jīng)將變量$x定義成了全局變量,在程序運(yùn)行到test()時,將調(diào)用test()函數(shù),并執(zhí)行對$x賦值50的操作,這樣,在輸出時就輸出了50。靜態(tài)變量經(jīng)常被用到。例如,在博客中使用靜態(tài)變量記錄瀏覽者數(shù)量,在聊天室中記錄用戶的聊天內(nèi)容等。?【教師】通過多媒體展示例2-16的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?phpfunctionjtbl(){static$message=0;$message+=1;echo$message."";}functionptbl(){$message=0; $message+=1; echo$message."";}for($i=0;$i<10;$i++) jtbl();echo"<p>";for($i=0;$i<10;$i++) ptbl();echo"<br>";?>自定義函數(shù)jtbl()輸出1~10共10個數(shù)字,而ptbl()函數(shù)則輸出10個1。這是由于函數(shù)jtbl()含有靜態(tài)變量$message,而函數(shù)ptbl()中的$message是一個普通變量,兩個變量初始化都為0。當(dāng)分別使用for循環(huán)調(diào)用兩個函數(shù)時,函數(shù)jtbl()在被調(diào)用后保留了靜態(tài)變量$message中的值,而靜態(tài)變量的初始化只是在函數(shù)第一次調(diào)用時被執(zhí)行,以后就不再執(zhí)行初始化操作了,也就是說將會略過上述第3行代碼;而函數(shù)ptbl()在被調(diào)用后,其變量$message失去了原來的值,重新被初始化為0。2.4.4可變變量可變變量是指使用一個變量的值作為變量的名稱。它是一種特殊的變量,實(shí)現(xiàn)過程是在變量名前面再多加一個“$”符號。有時候可變變量名會給編程帶來很大的方便。?【教師】通過多媒體展示例2-17的代碼和運(yùn)行結(jié)果,并進(jìn)行講解<?php$change_name="casual"; //聲明變量$change_name$casual="Iliketosing!"; //聲明變量$casualecho$change_name; //輸出變量$change_nameecho"<p>";echo$$change_name; //通過可變變量輸出$casual的值?>在PHP的函數(shù)和類的方法中,超全局變量不能用作可變變量。$this變量是個特殊變量,不能被動態(tài)引用。2.4.5預(yù)定義變量?【教師】通過多媒體展示“常用預(yù)定義變量”表,并結(jié)合表格講解知識PHP提供了大量的預(yù)定義變量。通過這些預(yù)定義變量可以獲取用戶會話、客戶機(jī)操作系統(tǒng)的環(huán)境信息和服務(wù)器操作系統(tǒng)的環(huán)境信息。常用預(yù)定義變量變量名說明$GLOBALS$_GET包含通過GET方法傳遞的參數(shù)的相關(guān)信息,主要用于獲取通過GET方法提交的數(shù)據(jù)$_POST包含通過POST方法傳遞的參數(shù)的相關(guān)信息,主要用于獲取通過POST方法提交的數(shù)據(jù)$_COOKIE通過HTTPCookies傳遞到腳本的信息$_SESSION主要用于會話控制和頁面間值的傳遞,包含與所有會話變量相關(guān)的信息$_SERVER[‘SERVER_ADDR’]當(dāng)前運(yùn)行腳本所在服務(wù)器的IP地址$_SERVER[‘SERVER_NAME’]當(dāng)前運(yùn)行腳本所在服務(wù)器的主機(jī)名稱,如果該腳本運(yùn)行在一個虛擬主機(jī)上,則該名稱由虛擬主機(jī)所設(shè)置的值決定$_SERVER[‘SERVER_PORT’]服務(wù)器所使用的端口,默認(rèn)值為80$_SERVER[‘SERVER_SIGNATURE’]包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER[‘REMOTE_ADDR’]正在瀏覽當(dāng)前頁面的用戶的IP地址$_SERVER[‘REMOTE_HOST’]正在瀏覽當(dāng)前頁面的用戶的主機(jī)名$_SERVER[‘REMOTE_PORT’]用戶連接到服務(wù)器所使用的端口$_SERVER[‘REQUEST_METHOD’]$_SERVER[‘DOCUMENT_ROOT’]當(dāng)前運(yùn)行腳本所在的文檔根目錄$_SERVER[‘SCRIPT_FILENAME’]當(dāng)前執(zhí)行腳本的絕對路徑【學(xué)生】聆聽、理解、記憶通過教師的講解和演示,幫助學(xué)生了解PHP變量的命名、賦值和作用域,以及可變變量和預(yù)定義變量的相關(guān)知識課堂討論(10min)【教師】組織學(xué)生以小組為單位討論以下問題:(1)變量的本質(zhì)是什么?(2)在PHP中,變量的命名需要滿足哪些條件?(3)如何為變量賦值?(4)靜態(tài)變量和可變變量的作用分別是什么?【學(xué)生】聆聽、思考、小組討論,由小組代表上臺發(fā)表討論結(jié)果【教師】與學(xué)生一起評價各組的發(fā)言,并進(jìn)行總結(jié)通過課堂討論,鞏固所學(xué)知識,加深學(xué)生對變量的理解第二節(jié)課問題導(dǎo)入(5min)【教師】提出以下問題:計(jì)算機(jī)中的常量和變量有什么區(qū)別呢?【學(xué)生】思考、舉手回答通過問題導(dǎo)入,引導(dǎo)學(xué)生主動思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】通過學(xué)生的回答引入新知,介紹PHP常量的相關(guān)知識2.5PHP常量常量可以理解為值不變的量。常量在使用前必須先定義,并且只能是標(biāo)量值(布爾型、整型、浮點(diǎn)型、字符串型)。常量值被定義后,在整個腳本執(zhí)行期間不改變。一般常量名由英文字母和下畫線開頭,后面可以跟任何字母、數(shù)字或下畫線。?【教師】進(jìn)行提示:默認(rèn)情況下,常量大小寫敏感,一般推薦大寫,注意不加“$”符號。?【學(xué)生】理解、記憶2.5.1常量的聲明和使用在PHP中使用define()函數(shù)來定義常量,該函數(shù)語法為booldefine(string$constant_name,mixed$value[,bool$case_insensitive=false])該函數(shù)有3個參數(shù),constant_name為必選參數(shù),代表常量名稱;value也為必選參數(shù),代表常量值或表達(dá)式;case_insensitive為可選參數(shù),指定是否大小寫敏感。如果case_insensitive參數(shù)設(shè)置為true,則該常量大小寫不敏感;默認(rèn)為false,表示大小寫敏感。獲取常量值有兩種方法:一種是使用常量名直接獲?。涣硪环N是使用constant()函數(shù)。這兩種方法輸出的效果是一樣的,但使用constant()函數(shù)可以動態(tài)地輸出不同的常量,要靈活方便得多。該函數(shù)的語法格式為mixedconstant(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,也可為存儲常量的變量。如果成功則返回常量值,否則提示錯誤信息。要判斷一個常量是否被定義,可以使用defined()函數(shù)。語法格式為booldefined(string$constant_name)參數(shù)constant_name為要獲取常量的名稱,成功則返回true,否則返回false。?【教師】通過多媒體展示例2-18的代碼和運(yùn)行結(jié)果,并進(jìn)行講解為更好地理解如何定義常量,這里給出一個實(shí)例。實(shí)例中共用到define()函數(shù)、constant()函數(shù)和defined()函數(shù)3個函數(shù)。使用define()函數(shù)來定義一個常量,使用constant()函數(shù)來動態(tài)獲取常量值,使用defined()函數(shù)判斷常量是否被定義。<?phpdefine("PI","3.1415926"); //定義常量,一般常量名采用大寫echoPI."<br>"; //輸出常量PIechopi."<br>"; //常量定義時名字是大寫,此處使用小寫,程序不會把pi作為常量處理define("COUNT","大小寫不敏感的字符串",true);//定義常量,并設(shè)置為不區(qū)分大小寫echoCOUNT."<br>"; //輸出常量COUNTechoCount."<br>"; //由于設(shè)定了大小寫不敏感,輸出常量COUNT$name="count";echoconstant($name)."<br>"; //輸出常量COUNTecho(defined("PI"))."<br>"; //如果常量已被定義,則返回true,即顯示1?>2.5.2預(yù)定義常量?【教師】通過多媒體展示“常用預(yù)定義常量”表,并結(jié)合表格進(jìn)行講解在PHP中,可以使用預(yù)定義常量獲取信息。常用預(yù)定義常量常量名說明__FILE__默認(rèn)常量,文件的完整路徑和文件名__LINE__默認(rèn)常量,PHP程序當(dāng)前行數(shù)__FUNCTION__函數(shù)名稱(這是PHP4.3.0新加的)PHP_VERSION內(nèi)建常量,PHP程序的版本,如4.3.0PHP_OS內(nèi)建常量,執(zhí)行PHP解析器的操作系統(tǒng)名稱,如WindowsTRUE該常量是真值(true)FALSE該常量是假值(false)E_ERROR該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加工課課件教學(xué)課件
- 幼師課件用電教學(xué)課件
- 2024年國際旅游開發(fā)與合作合同
- 2024年廣州市二手房交易合同(標(biāo)準(zhǔn)版)
- 2024年度智能制造設(shè)備采購合同
- 2024年度物業(yè)公司居民關(guān)系協(xié)調(diào)服務(wù)合同
- 2024年大數(shù)據(jù)中心合作運(yùn)營合同
- 2024年工程質(zhì)量檢驗(yàn)與確認(rèn)合同
- 魚罐頭課件教學(xué)課件
- 2024年庫房租賃與健身器材存放合同
- 香菇種植示范基地項(xiàng)目可行性策劃實(shí)施方案
- 混凝土硫酸鹽侵蝕基本機(jī)理研究
- 《機(jī)械設(shè)計(jì)基礎(chǔ)A》機(jī)械電子 教學(xué)大綱
- 水工巖石分級及圍巖分類
- 基因擴(kuò)增實(shí)驗(yàn)室常用儀器使用課件
- 斜井敷設(shè)電纜措施
- 施工機(jī)械設(shè)備租賃實(shí)施方案
- 牙膏產(chǎn)品知識課件
- 液化氣站人員勞動合同范本
- 第一章 教育政策學(xué)概述
- 常見土源性寄生蟲演示文稿
評論
0/150
提交評論