PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 5.PHP的自動加載與范圍操作解析符_第1頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 5.PHP的自動加載與范圍操作解析符_第2頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 5.PHP的自動加載與范圍操作解析符_第3頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 5.PHP的自動加載與范圍操作解析符_第4頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 5.PHP的自動加載與范圍操作解析符_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

5.8PHP自動加載類、范圍操作解析符陳學平8PHP自動加載類9.3::訪問父類覆蓋成員和方法的實例9.2::訪問靜態(tài)成員、方法實例9范圍解析操作符(::)目錄018PHP自動加載類8PHP自動加載類__autoload()方法用于自動加載類。在實際項目中,不可能把所有的類都寫在一個PHP文件中,當在一個PHP文件中需要調(diào)用另一個文件中聲明的類時,就需要通過include把這個文件引入。不過有的時候,在文件眾多的項目中,要一一將所需類的文件都include進來,需要在每個類文件開頭寫一個長長的包含文件的列表。那么能不能在使用類的時候,再把這個類所在的php文件導入呢?為此,PHP提供了__autoload()方法,它會在試圖使用尚未被定義的類時自動調(diào)用。通過調(diào)用此函數(shù),腳本引擎在PHP出錯失敗前有了最后一個機會加載所需的類。8PHP自動加載類__autoload()方法接收的一個參數(shù),就是欲加載的類的類名,所以這時候需要類名與文件名對應(yīng),如Person.php,對應(yīng)的類名就是Pserson。實例6_使用_autoload()方法自動加載類實例代碼如下:Pserson.php<?phpclassPerson{private$name;private$age;

function__construct($name,$age){

$this->name=$name;

$this->age=$age;

}

functionsay(){ echo"我的名字叫:".$this->name."<br/>"; echo"我的年齡是:".$this->age;

}}?>8PHP自動加載類test.php<?phpfunction__autoload($class_name){require_once$class_name.'.php';}//當前頁面Pserson類不存在則自動調(diào)用__autoload()方法,傳入?yún)?shù)Person$p1=newPerson("張三","20");$p1->say();?>運行test.php,輸出:我的名字叫:張三我的年齡是:20高版本PHP使用下面的方式調(diào)用spl_autoload_register(function($class){$file='classes/'.$class.'.class.php';if(file_exists($file)){require$file;}});029范圍解析操作符(::)9.1范圍解析操作符(::)范圍解析操作符(::)是一對冒號,可以用于訪問靜態(tài)成員、方法和常量,以及被覆蓋類中的成員和方法。當在類的外部使用::符號訪問這些靜態(tài)成員、方法和常量時,必須使用類的名字,如下面實例所示。039.2::訪問靜態(tài)成員、方法實例9.2::訪問靜態(tài)成員、方法實例<?phpClassPerson{

//定義靜態(tài)成員屬性

publicstatic$country="中國";

//定義靜態(tài)成員方法

publicstaticfunctionmyCountry(){

//內(nèi)部訪問靜態(tài)成員屬性

echo"我是".self::$country."人<br/>";

}}//輸出靜態(tài)成員屬性值echoPerson::$country."<br/>";//訪問靜態(tài)方法Person::myC輸出結(jié)果中國我是中國人使用

::符號訪問靜態(tài)成員及方法參考PHP靜態(tài)(static)。049.3::訪問父類覆蓋成員和方法的實例9.3::訪問父類覆蓋成員和方法的實例實例8使用::訪問父類覆蓋成員和方法實例代碼如下:<?phpclassPerson{

var$name;

var$sex;

var$age;

functionsay(){

echo"我的名字叫:".$this->name."<br/>";

echo"性別:".$this->sex."<br/>";

echo"我的年齡是:".$this->age;

}}9.3::訪問父類覆蓋成員和方法的實例classStudentextendsPerson{

var$school;

functionsay(){

parent::say();

echo"我在".$this->school."上學";

}}//$P1=newPerson();

$P2=new

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論