php自動載入autoload機制示例分享

2022-10-06 00:33:09 字數 2576 閱讀 8520

1,自定義函式

2,spl_autoload_register()

複製** **如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ ll ./*

-rw-rw-r-- 1 liuyuan liuyuan  800 feb 19 11:39 ./func_autoload.php

-rw-rw-r-- 1 liuyuan liuyuan  906 feb 19 11:28 ./spl_autoload.php

./include:

total 16

drwxrwxr-x 2 liuyuan liuyuan 4096 feb 19 11:42 ./

drwxrwxr-x 3 liuyuan liuyuan 4096 feb 19 11:43 ../

-rw-rw-r-- 1 liuyuan liuyuan  142 feb 19 11:42 aclass.php

-rw-rw-r-- 1 liuyuan liuyuan  143 feb 19 11:42 bclass.php

首先看自定義函式方式:

複製** **如下:

<?php

define('eol', (php_sapi == 'cli') ? php_eol : ' br>');

print_r(get_included_files());

echo eol;

print get_include_path();

echo eol;

//set_include_path(get_include_path().path_separator.'/var/www/ly_php/php_spl/include/');

//set_include_pat'/include');

//set_include_path(dirname(__file__).'/include/');

function __autoload($classname)else

}$a = new aclass();

$b = new bclass();

print_r(get_included_files());

?>

執行結果如下:

複製** **如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php func_autoload.php

array

(    [0] => /var/www/phpgcs/php_autoload/func_autoload.php

).:/usr/share/php:/程式設計客棧usr/share/pear

aclass is loaded

bclass is loaded

array

(    [0] => /var/www/phpgcs/php_autoload/func_autoload.php

[1] => /var/www/phpgcs/php_autoload/include/aclass.php

[2] => /var/www/phpgcs/php_autoload/include/bclass.php

)第二種方式:

複製** **如下:

<?php

class myloaderelse}}

define('eol', (php_sapi == 'cli') ? php_eol : '

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

/***__autoload 方法在 spl_autoload_register 後會失效,因為 autoload_func 函式指標已指向 spl_autoload 方法

* 可以通過下面的方法來把 _autoload 方法加入 autoload_functions list

*///spl_autoload_register( '__autoload' );

error_reporting(e_all^e_notice^e_warning^e_error);

error_reporting(e_notice | e_warning );

$a = new aclass();

print_r(get_included_files());

echo eol;

$b = new bclass();

echo eol;

?>

執行結果如下:

複製** **如下:

liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php spl_autoload.php

aclass is loaded

array

(    [0] => /var/www/phpgcs/php_autoload/spl_autoload.php

[1] => /var/www/phpgcs/php_autoload/include/aclass.php

)bclass is loaded

本文標題: php自動載入autoload機制示例分享

本文位址:

php之自動載入autoload

當程式的 執行到需要載入某個類的時候,php內部機制可以做到自動載入該類檔案。autoload嘗試載入未定義的類 class a.class.php classa autoload.php header content type text html charset utf 8 function au...

php自動載入類 autoload 函式

php自動載入類 autoload 函式,很多開發者寫物件導向的應用程式時,對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個長長的包含檔案的列表。很多開發者寫物件導向的應用程式時,對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每...

關於php自動載入autoload方法的使用及弊端

關於php自動載入autoload方法的使用及弊端 php自動載入autoload方法,在我們編寫mvc框架的時候可能會常常用到,雖然在效能上會有些影響,是在可承受範圍之內的,但框架在整體上的架構和開發會方便很多,易於管理框架中的類及方法,覺得它的利還是大於它的弊的。主要通過兩種方法來使用自動載入a...