国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP函數spl_autoload_register()用法和__autoload()介紹

2024-05-04 23:15:36
字體:
來源:轉載
供稿:網友
__autoload()的用法就不再說了,以前已經在我的WEB開發筆記中說過。PHP __autoload函數(自動載入類文件)的使用方法, 原文地址: 。
說一說,spl_autoload_register()的用法吧,很簡單,可以這樣理解,就是聲明一個自定義__autoload(),你可以是A函數,也可以是B函數,想怎么樣就怎么樣,函數體的寫法,當然要和__autoload()一樣就OK 了。
當PHP找不到類文件會調用這個方法,當注冊了自己的函數或方法時,PHP不會調用__autoload()函數,而會調用自定義的函數
spl_autoload_register(‘func_name');
spl_autoload_register(array(‘class_name','method_name'));
詳細說明如下:
spl_autoload_register
(PHP 5>= 5.1.2)
spl_autoload_register — 注冊__autoload()函數
說明
bool spl_autoload_register ([ callback $autoload_function ] )
將函數注冊到SPL __autoload函數棧中。如果該棧中的函數尚未激活,則激活它們。
如果在你的程序中已經實現了__autoload函數,它必須顯式注冊到__autoload棧中。因為
spl_autoload_register()函數會將Zend Engine中的__autoload函數取代為spl_autoload()或
spl_autoload_call()。
參數
autoload_function
欲注冊的自動裝載函數。如果沒有提供任何參數,則自動注冊autoload的默認實現函數
spl_autoload()。
返回值
如果成功則返回 TRUE,失敗則返回 FALSE。
注:SPL是Standard PHP Library(標準PHP庫)的縮寫。它是PHP5引入的一個擴展庫,其主要功能包括autoload機制的實現及包括各種Iterator接口或類。SPL autoload機制的實現是通過將函數指針autoload_func指向自己實現的具有自動裝載功能的函數來實現的。SPL有兩個不同的函數spl_autoload, spl_autoload_call,通過將autoload_func指向這兩個不同的函數地址來實現不同的自動加載機制。
代碼如下:
test.class.php

復制代碼 代碼如下:


<?php
class abc{
function __construct()
{
echo 'www.chhua.com;
}
}
?>


load.php

復制代碼 代碼如下:


<?php
class LOAD
{
static function loadClass($class_name)
{
$filename = $class_name.".class.php";
if (is_file($filename)) return include_once $filename;
}
}
/**
* 設置對象的自動載入
* spl_autoload_register — Register given function as __autoload() implementation
*/
spl_autoload_register(array('LOAD', 'loadClass'));
$a = new Test();//實現自動加載,很多框架就用這種方法自動加載類
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹北市| 枞阳县| 攀枝花市| 建瓯市| 宁武县| 南平市| 得荣县| 东乌珠穆沁旗| 南阳市| 板桥市| 大姚县| 高台县| 朔州市| 巴马| 富源县| 盐城市| 荣成市| 锡林浩特市| 巩义市| 万全县| 元氏县| 海原县| 德江县| 孟村| 嘉祥县| 新源县| 兴和县| 通榆县| 仙居县| 新余市| 洛川县| 宜君县| 丹棱县| 资阳市| 安龙县| 尼勒克县| 新安县| 达州市| 南漳县| 海伦市| 梅河口市|