動態(tài)網(wǎng)站開發(fā)第二版課件7_第1頁
動態(tài)網(wǎng)站開發(fā)第二版課件7_第2頁
動態(tài)網(wǎng)站開發(fā)第二版課件7_第3頁
動態(tài)網(wǎng)站開發(fā)第二版課件7_第4頁
動態(tài)網(wǎng)站開發(fā)第二版課件7_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

動態(tài)網(wǎng)站開發(fā)

WEBFundamentals&Practices第7章自定義函數(shù)

主講:孔祥盛

本章大綱7-1PHP文件間的引用7-2函數(shù)概述7-3自定義函數(shù)7-4自定義函數(shù)綜合示例7-5return語言結(jié)構(gòu)7-1PHP文件間的引用1.

include語言結(jié)構(gòu)include語言結(jié)構(gòu)的語法格式:mixedinclude(stringresource)include語言結(jié)構(gòu)的功能:include語言結(jié)構(gòu)將一個資源文件resource載入到當(dāng)前PHP程序中。字符串參數(shù)resource是一個資源文件的文件名,該資源可以是本地WEB服務(wù)器上的資源,如圖片、HTML頁面、PHP頁面等,也可以是互聯(lián)網(wǎng)上的資源。若找不到資源文件resource,include語言結(jié)構(gòu)返回FALSE;若找到資源文件resource,且資源文件resource沒有返回值時,返回整數(shù)1,否則返回資源文件resource的返回值。7-1PHP文件間的引用2.

require與include語言結(jié)構(gòu)的比較require語言結(jié)構(gòu)的語法格式及功能與include相同,只不過兩者之間存在著細微的區(qū)別。在錯誤處理方面:使用include語言結(jié)構(gòu),如果被引用文件發(fā)生錯誤或不能找到被引用文件,引用文件將提示W(wǎng)arning信息然后繼續(xù)執(zhí)行下面的語句。使用require語言結(jié)構(gòu),如果被引用文件發(fā)生錯誤或不能找到被引用文件,引用文件將提示W(wǎng)arning信息及Fatalerror致命錯誤信息然后終止程序運行。7-1PHP文件間的引用3.

include_once和require_once語言結(jié)構(gòu)include_once和require_once語言結(jié)構(gòu)分別對應(yīng)于include和require語言結(jié)構(gòu),使用include_once和require_once語言結(jié)構(gòu)可以有效避免多次引用同一個PHP文件而引起函數(shù)或變量的重復(fù)定義問題的發(fā)生。include_once語言結(jié)構(gòu)的語法格式:mixedinclude_once(stringresource)include_once語言結(jié)構(gòu)的功能:include_once語句將一個資源文件resource載入到當(dāng)前PHP程序中。若找不到資源文件resource,include_once語句返回FALSE。若找到資源文件resource,且該資源文件第一次載入,include_once語句返回整數(shù)1;若找到資源文件resource,且該資源文件已經(jīng)載入,include_once語句返回TRUE。7-2函數(shù)概述1.

函數(shù)的概念程序設(shè)計中,可以將經(jīng)常使用的代碼段獨立出來,形成單獨的子程序,這些子程序就是函數(shù)。函數(shù)只需要定義一次,之后便可以重復(fù)使用,故可以增強了代碼的重用性。一般而言,函數(shù)的功能較為單一,因此函數(shù)的編寫和維護比較容易。7-2函數(shù)概述2.

函數(shù)的分類PHP函數(shù)種類和變量種類的劃分方法相似,PHP中有三種類型的函數(shù):內(nèi)置函數(shù)、自定義函數(shù)和變量函數(shù)。內(nèi)置函數(shù)類似于預(yù)定義變量。PHP內(nèi)置函數(shù)是PHP已預(yù)定義好的函數(shù),這些函數(shù)在編程時無需定義,可以直接使用。自定義函數(shù)類似于自定義變量,由程序員根據(jù)特定需要編寫出來的代碼段。和內(nèi)置函數(shù)不同,自定義函數(shù)只有在定義之后才可以使用。變量函數(shù)類似于可變變量,變量函數(shù)的函數(shù)名為一個變量。三種類型的函數(shù)都有一個共同特點:調(diào)用函數(shù)時,函數(shù)名大小寫不敏感,例如:調(diào)用md5()函數(shù)和調(diào)用MD5()函數(shù)實質(zhì)上是調(diào)用同一個函數(shù)。7-3自定義函數(shù)1.

自定義函數(shù)的定義

在PHP中,定義自定義函數(shù)的語法格式為:functionfunctionName($param1,$param2,$param3,…$paramn=defaultValue){

函數(shù)體; return返回值;}7-3自定義函數(shù)2.

自定義函數(shù)的聲明和調(diào)用

調(diào)用自定義函數(shù)時需要注意:應(yīng)該先聲明自定義函數(shù),然后才可以在調(diào)用處使用如下方式調(diào)用自定義函數(shù):functionName(param1Value,param2Value,param3Value,…paramnValue)當(dāng)函數(shù)的定義和函數(shù)的調(diào)用位于不同的PHP文件時,需要使用include(include_once)或require語言結(jié)構(gòu)(require_once)引用函數(shù)定義所在的PHP文件,這個過程稱為函數(shù)的聲明。當(dāng)函數(shù)的定義和函數(shù)的調(diào)用位于同一個PHP文件時,此時無須函數(shù)的聲明即可直接調(diào)用自定義函數(shù)。

7-3自定義函數(shù)3.

自定義函數(shù)的參數(shù)賦值

和變量賦值方法相同,自定義函數(shù)的參數(shù)賦值有兩種方法:傳值賦值和傳地址賦值。1.傳值賦值默認情況下,自定義函數(shù)的參數(shù)是按傳值賦值的方式為函數(shù)參數(shù)賦值,即:將一個值的“拷貝”賦值給函數(shù)的參數(shù)(例如程序byValue.php)。2.傳地址賦值自定義函數(shù)的參數(shù)也可使用傳地址賦值,即:將一個變量的“引用”傳遞給函數(shù)的參數(shù)。和變量傳地址賦值的方式一樣,在函數(shù)的參數(shù)名前追加一個“&”符實現(xiàn)傳地址賦值7-3自定義函數(shù)4.

變量的作用域和global關(guān)鍵字

變量的作用域取決于變量在PHP程序中的位置:在函數(shù)內(nèi)定義的變量(包括函數(shù)的參數(shù))為局部變量,局部變量在調(diào)用函數(shù)結(jié)束后被自動回收。在函數(shù)外定義的變量為全局變量,聲明后的全局變量可以被PHP程序中所有語句訪問(函數(shù)內(nèi)的PHP語句除外),當(dāng)程序執(zhí)行到程序末尾的時候,全局變量才被自動回收。全局變量也可應(yīng)用于include語句和require語句所引用的PHP程序文件。如果函數(shù)中的PHP語句要訪問全局變量,需要在函數(shù)內(nèi)定義的變量名前加關(guān)鍵字global,此時函數(shù)內(nèi)局部變量變?yōu)槿肿兞俊?-3自定義函數(shù)5.變量的生存周期和static關(guān)鍵字

函數(shù)內(nèi)定義的變量生存周期是短暫的:每一次函數(shù)調(diào)用的開始到這一次函數(shù)調(diào)用的結(jié)束。有時希望函數(shù)中的變量能夠從這次調(diào)用一直存活到下次調(diào)用,此時需要在該變量前加上static關(guān)鍵字。static關(guān)鍵字一般在函數(shù)定義中使用,用于修飾局部變量。7-3自定義函數(shù)6.

變量函數(shù)

變量函數(shù)類似于可變變量,變量函數(shù)的函數(shù)名為變量。使用變量函數(shù)可以實現(xiàn)通過改變變量的值的方法調(diào)用不同的函數(shù)。變量函數(shù)的調(diào)用方法如下:$varName(param1Value,param2Value,param3Value,…paramnValue)7-4自定義函數(shù)綜合示例文件上傳功能的函數(shù)upload()的制作<?phpfunctionupload($file,$filePath){$error=$file['error'];switch($error){case0:$fileName=$file['name'];$fileTemp=$file['tmp_name'];$destination=$filePath."/".$fileName;move_uploaded_file($fileTemp,$destination);return"文件上傳成功!";case1:return"上傳附件超過了php.ini中upload_max_filesize選項限制的值!";case2:return"上傳附件的大小超過了form表單MAX_FILE_SIZE選項指定的值!";case3:return"附件只有部分被上傳!";case4:return"沒有選擇上傳附件!";}}?>7-5return語言結(jié)構(gòu)

return語言結(jié)構(gòu)首先結(jié)束當(dāng)前PHP程序的運行,然后將當(dāng)前PHP程序的運行結(jié)果返回給引用程序,程序的執(zhí)行流程跳轉(zhuǎn)到引用程序。如果沒有引用程序,return語言結(jié)構(gòu)直接結(jié)束當(dāng)前PHP程序的運行。使用return控制程序的流程時,通常return在被引用的PHP程序中使用,程序執(zhí)行到return語句后,將運算結(jié)果返回給引用程序,并將控制轉(zhuǎn)交給引用程序。被

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論