php autoload 使用方法和原理

2021-08-04 08:23:14 字數 2612 閱讀 7582

__autoload的使用方法1:

最經常使用的就是這種方法,根據類名,找出類檔案,然後require_one 

複製**

**如下:

function __autoload($class_name)  

// 這裡會自動載入http/file/inte***ce.php 檔案 

這種方法的好處就是簡單易使用。當然也有缺點,缺點就是將類名和檔案路徑強制做了約定,當修改檔案結構的時候,就勢必要修改類名。 

__autoload的使用方法2(直接對映法) 

複製**

**如下:

// 這裡會自動載入c:/php/http/file/inte***ce.php 檔案 

這種方法的好處就是類名和檔案路徑只是用乙個對映來維護,所以當檔案結構改變的時候,不需要修改類名,只需要將對映中對應的項修改就好了。 

這種方法相較於前面的方法缺點是當檔案多了的時候這個對映維護起來非常麻煩,或許這時候你就會考慮使用json或者單獨乙個檔案來進行維護了。或許你會想到使用乙個框架來維護或者建立這麼乙個對映。 

spl_autoload 

__autoload的最大缺陷是無法有多個autoload方法 

好了, 想下下面的這個情景,你的專案引用了別人的乙個專案,你的專案中有乙個__autoload,別人的專案也有乙個__autoload,這樣兩個__autoload就衝突了。解決的辦法就是修改__autoload成為乙個,這無疑是非常繁瑣的。 

因此我們急需使用乙個autoload呼叫堆疊,這樣spl的autoload系列函式就出現了。你可以使用spl_autoload_register註冊多個自定義的autoload函式 

如果你的php版本大於5.1的話,你就可以使用spl_autoload 

先了解spl的幾個函式: 

spl_autoload 是_autoload()的預設實現,它會去include_path中尋找$class_name(.php/.inc) 

spl_autoload實現自動載入: 

複製**

**如下:

set_include_path("/home/yejianfeng/handcode/"); //這裡需要將路徑放入include 

spl_autoload("http"); //尋找/home/yejianfeng/handcode/http.php 

將函式註冊到spl __autoload函式棧中,直接看乙個例子: 

複製**

**如下:

呼叫spl_autoload_register中註冊的呼叫函式, 看下面的例子 

複製**

**如下:

$a->callname(); //這個時候會輸出"this is http2" 

spl_auto_register這個函式使得我們不使用__autoload,使用自定義的函式來進行自動載入成為可能。這個方法現在是經常使用到的。 

zend的autoloader模組就使用了這個方法。摘錄其中對應的** 

複製**

**如下:

spl_autoload_register(array(__class__, 'autoload')); 

public static function autoload($class)   

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...

使用方法 離型劑使用方法

1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...

使用方法 卡丁車輪胎使用方法

輪胎的使用方法很重要 卡丁車輪胎是卡丁車場日常執行中的主要易損件,但是輪胎的使用方法很重要。哪些情況下會縮短輪胎的使用壽命呢?一 跑道地面粗糙 有的跑道在鋪瀝青時,或者選錯了瀝青中石子的規格,或者碾壓得不夠平整,導致路面粗糙。有的跑道使用現成的水泥地,但表面粗糙或不平整。有的室內跑道,為了提高輪胎的...