PHP 實現自動載入

2022-02-21 10:20:21 字數 1108 閱讀 1715

自動載入主要是省去了乙個個類去 include 的繁瑣,在 new 時動態的去檢查並 include 相應的 class 檔案。

先上**:

//

index.php

<?php

class

classautoloader

else

}public

static

function register($autoloader = '')

}classautoloader::register();

$obj = new

printit();

$obj->doprint();

?>

然後是類檔案:

//

printit.class.php

<?php

class

printit

}?>

實驗結果:

$ php index.php 

try to load printit via classautoloader::loader()

hello, it's printit!

上面的**中,我們在另外乙個檔案 printit.class.php 中定義的 printit 類。但是,我們並沒有在 index.php 中顯性的 include 這個庫檔案。然後,因為我們有註冊了自動載入方法,所以,我們在 new 這個類時,我們的自動載入方法就會按事先定義好的規則去找到類檔案,並 include 這個檔案。

這也是 thinkphp5.1 中 loader 的基本原理。不過,thinkphp 框架中,另外還增加了使用 psr0、psr4 規則來查詢類檔案,以及 composer 的自動載入。

<?php

spl_autoload_extensions(".php"); //

comma-separated list

spl_autoload_register();

?>

讓 php 自己去尋找檔案,據說要比上面指定檔名要快得多。

不過我猜,第一句讓 php 已經做了快取,所以,這種方式應該是拿記憶體換了速度。

php自動載入類,php自動載入的兩種實現方法

php自動載入的兩種實現方法,需要的朋友可以參考下。php自動載方法有兩種.第一種方案用 autoload,這個函式較簡單,也較弱.但有一問題沒有解決,就是在include前判斷檔案是否存在的問題.set include path aa path separator get include path...

php 載入 php自動載入方式

本篇文章介紹的內容是關於php自動載入方式,現在分享給大家,有需要的朋友可以參考一下這篇文章的內容 php載入檔案方式 1 include,include once,requice,requice one常規載入 2 autoload 3 spl autoload register 常規載入方式 假...

PHP反射API實現自動載入

php具有完整的反射 api,新增了對類 介面 函式 方法和擴充套件進行反向工程的能力。在這裡我們通過乙個簡單的應用來展示一下反射api的魅力。讓我們來看看如何利用反射api實現自動載入模組 首先定義乙個modules介面,不同模組實現不同的execute 功能。inte ce modules接下來...