目錄
php的spl_autoload标准库方法,phpspl_autoload
急,各位高人解释一下PHP中的__autoload函数以及spl_autoload_register()函数,我到网上找资料都没看懂
教PHP中spl_autoload_register与spl_autoload_unregister 用法
首頁 php教程 php手册 php的spl_autoload标准库方法,phpspl_autoload

php的spl_autoload标准库方法,phpspl_autoload

Jun 13, 2016 am 09:29 AM
spl

php的spl_autoload标准库方法,phpspl_autoload

在php5中的spl_autoload方法相当于实现自己的__autoload

<?<span>php
    </span><span>function</span> __autoload(<span>$classname</span><span>){
        </span><span>if</span>(<span>is_file</span>(<span>$classname</span>.'.php'<span>){
            </span><span>include</span> <span>$classname</span>.'.php'<span>;
        } </span><span>elseif</span>(<span>is_file</span>(<span>$classname</span>.'.inc'<span>){
            </span><span>include</span> <span>$classname</span>.'.inc'<span>;
        }
    }</span>
登入後複製

它会在注册目录下自动寻找与$classname同名的.php/.inc文件。当然,你也可以指定特定的文件,方法是注册扩展名

<?<span>php
    spl_autoload_extensions(</span>'.php,.inc,.some');
登入後複製

那么怎样自动加载spl_autoload呢,方法是

<?<span>php
    spl_autoload_register();</span>
登入後複製

spl_autoload_register有一个$callback参数,如果不指定,它就会自动注册spl_autoload,为了能搜寻更多的自动加载目录,可以在这些代码前面设置自动加载目录

<?<span>php
    </span><span>set_include_path</span>(<span>get_include_path</span>() . PATH_SEPARATOR . 'some/path' . DIRECTORY_SEPARATOR);
登入後複製

这些方法常用在php框架中。

急,各位高人解释一下PHP中的__autoload函数以及spl_autoload_register()函数,我到网上找资料都没看懂

__autoload 常用在自动加载类库处理
也就是网上说的 这种方法,根据类名,找出类文件,然后require_one
spl_autoload_register()

__autoload的最大缺陷是无法有多个autoload方法

好了, 想下下面的这个情景,你的项目引用了别人的一个项目,你的项目中有一个__autoload,别人的项目也有一个__autoload,这样两个__autoload就冲突了。解决的办法就是修改__autoload成为一个,这无疑是非常繁琐的。

因此我们急需使用一个autoload调用堆栈,这样spl的autoload系列函数就出现了。你可以使用spl_autoload_register注册多个自定义的autoload函数

如果你的PHP版本大于5.1的话,你就可以使用spl_autoload
 

教PHP中spl_autoload_register与spl_autoload_unregister 用法

这是一个PHP 类似自动加载的函数 比如 __autoload 但这个只能传入我们NEW的类名 如果想在NEW的时候调用自己定义的函数就可以用
spl_autoload_register
 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP SPL 資料結構:為你的專案注入速度與彈性 PHP SPL 資料結構:為你的專案注入速度與彈性 Feb 19, 2024 pm 11:00 PM

PHP SPL 資料結構:為你的專案注入速度與彈性

PHP SPL 資料結構:一個讓你的程式碼煥然一新的工具包 PHP SPL 資料結構:一個讓你的程式碼煥然一新的工具包 Feb 19, 2024 pm 12:09 PM

PHP SPL 資料結構:一個讓你的程式碼煥然一新的工具包

PHP SPL 資料結構:資料管理的終極武器 PHP SPL 資料結構:資料管理的終極武器 Feb 20, 2024 am 11:30 AM

PHP SPL 資料結構:資料管理的終極武器

PHP SPL 資料結構最佳實務:確保程式碼的健全性 PHP SPL 資料結構最佳實務:確保程式碼的健全性 Feb 19, 2024 pm 03:09 PM

PHP SPL 資料結構最佳實務:確保程式碼的健全性

PHP SPL 資料結構:處理複雜資料的秘密武器 PHP SPL 資料結構:處理複雜資料的秘密武器 Feb 20, 2024 am 11:10 AM

PHP SPL 資料結構:處理複雜資料的秘密武器

Java嵌入資料引擎從SQLite到SPL實例分析 Java嵌入資料引擎從SQLite到SPL實例分析 May 05, 2023 pm 09:52 PM

Java嵌入資料引擎從SQLite到SPL實例分析

PHP SPL 資料結構:釋放資料操作的潛力 PHP SPL 資料結構:釋放資料操作的潛力 Feb 19, 2024 pm 06:00 PM

PHP SPL 資料結構:釋放資料操作的潛力

掌握 PHP SPL 資料結構:高效率管理複雜數據 掌握 PHP SPL 資料結構:高效率管理複雜數據 Feb 19, 2024 pm 06:42 PM

掌握 PHP SPL 資料結構:高效率管理複雜數據

See all articles