php自動載入

2021-06-10 10:41:45 字數 3314 閱讀 6489

php自動載方法有兩種.

第一種方案用__autoload,這個函式較簡單,也較弱.

但有一問題沒有解決, 就是在include前判斷檔案是否存在的問題.?

1

2

3

4

5

6

7

8

9

10

11

12

13

set_include_path('aa'. path_separator . get_include_path());

function__autoload($classname)

else

}

$a=newacls();

第二種方案用spl自動載入,這裡具體說一下這個.

spl_autoload_register()

乙個簡單的例子?

1

2

3

4

5

6

7

8

9

10

11

12

13

set_include_path('aa'. path_separator . get_include_path());

//function __autoload($classname)

// else

//}

spl_autoload_register();

$a=newacls();

spl_autoload_register()會自動先呼叫spl_autoload()在路徑中查詢具有小寫檔名的".php"程式.預設查詢的副檔名還有".ini",還可以用spl_autoload_extenstions()註冊副檔名.

在找不到的清況下,還可以通過自己定義函式查詢

如function loader1($class)

function loader2($class)

spl_autoload_register('loader1');

spl_autoload_register('loader2');

還可以更多........

mvc框架是如何實現自動載入的

首先設定路徑

'include' => array(

),set_include_path(get_include_path() . path_separator .implode(path_separator, $config['include']));

在獲取url,解析出控制器與方法.

然後設定自動載入?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

classloader

}

/**

* sql自動載入

*/

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

路由,例項化控制器,呼叫方法,你寫的東西就開始執行了

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

/**

* 路由

*/

publicfunctionroute()

else

thrownewexception('no action');

}else

thrownewexception('no controller');

}

?

?

1

初步的自動載入就完成了

php 載入 php自動載入方式

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

php自動載入

很多開發者寫物件導向的應用程式時對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個長長的包含檔案列表。在 php 5 中,不再需要這樣了。可以定義乙個 autoload 函式,它會在試圖使用尚未被定義的類時自動呼叫。通過呼叫此函式,指令碼引擎在 p...

PHP 自動載入

自動載入物件 很多開發者寫物件導向的應用程式時對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個常常的包含檔案列表。在 php 5 中,不再需要這樣了。可以定義乙個 autoload 函式,它會在試圖使用尚未被定義的類時自動呼叫。通過呼叫此函式,指...