PHP物件導向之類的自動載入

來源:互聯網
上載者:User

標籤:png   聲明   load   time   alt   技術   name   檔案路徑   register   

類的自動載入 含義:

當某行代碼需要一個類的時候,php的內部機制可以做到“自動載入該類檔案”,以滿足該行需要一個類的這種需求。

 

什麼時候需要一個類?

1,new一個對象的時候;

2,使用一個類的靜態方法的時候;

3,定義一個類(B)並以另一個類(A)作為父類的時候;

 

 

 

 

條件和要求

1, 當需要一個類的時候,就會自動調用某個函數(預設是__autoload),並傳入所需要的類的名字

2, 一個類應該儲存到一個獨立的“類檔案中”:即其中只有該類的定義,沒有別的代碼;

3,習慣上,類檔案的命名要有一定的“規則”,通常是:類名.class.php

4,通常,我們需要將各種類,儲存在一些特定的目錄中,以方便確定其位置!

5,在該自動載入的函數中,“充分”使用傳過來的類名,以構建一個合適的檔案路徑並載入;

 

 

 

 

自訂自動載入函數:

剛才,__autoload()函數,是系統內部的自動載入函數,我們只是定義其函數體。

 

但:

 

我們可以使用更多函數(自訂的),來實現更靈活的自動載入!

 

基本模式為:

 

spl_autoload_register(“函數1”); //聲明“函數1”作為自動載入函數;

spl_autoload_register(“函數2”); //聲明“函數2”也作為自動載入函數;

.........

然後,就去定義這些函數,跟定義__autoload()函數一樣:

function  函數1( $class_name ){

//.......

}

function  函數2( $class_name ){

//.......

}

.............

 

這樣,系統就會一次調用這些自動載入函數去載入所需要的類,直到載入成功!

 

 

PHP物件導向之類的自動載入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.