站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

淺析PHP中的類自動(dòng)加載相關(guān)文件

本篇文章給大家?guī)砹岁P(guān)于PHP的相關(guān)知識(shí),其中主要介紹了類自動(dòng)加載的相關(guān)內(nèi)容,下面帶大家一起來分析下PHP中類自動(dòng)加載相關(guān)文件,希望對(duì)大家有幫助。

淺析PHP中的類自動(dòng)加載相關(guān)文件

PHP 中類自動(dòng)加載相關(guān)文件分析

類自動(dòng)加載

Composer 是一種 PHP 包管理工具,可用于管理應(yīng)用程序所依賴的第三方庫。 Composer 可以通過自動(dòng)加載功能來加載這些依賴項(xiàng)。

Composer 使用自動(dòng)加載機(jī)制,該機(jī)制使用特殊的 PHP 函數(shù)在需要時(shí)加載類。 這個(gè)函數(shù)稱為自動(dòng)加載器函數(shù),并且是在 PHP 腳本開始執(zhí)行之前調(diào)用的。

當(dāng) PHP 解析器遇到未定義的類時(shí),它會(huì)調(diào)用自動(dòng)加載器函數(shù)。 自動(dòng)加載器函數(shù)接受類名作為參數(shù),并使用這個(gè)類名來確定應(yīng)該加載哪個(gè)文件。 例如,如果類名為 Foo\Bar,則自動(dòng)加載器函數(shù)可能會(huì)嘗試加載 /path/to/project/src/Foo/Bar.php 文件。

Composer 本身有一些內(nèi)置的自動(dòng)加載功能,這些功能可以用于加載應(yīng)用程序所依賴的庫。 例如,Composer 可以使用 PSR-4 自動(dòng)加載規(guī)范加載類。 這種規(guī)范使用命名空間和文件結(jié)構(gòu)來確定應(yīng)該加載哪些文件。 要使用 PSR-4 自動(dòng)加載,您需要在應(yīng)用程序的 composer.json 文件中指定命名空間前綴和文件路

在使用時(shí),通常只需要包含以下類自動(dòng)加載入口文件即可完成

require 'vendor/autoload.php';
登錄后復(fù)制

PSR-4 類自動(dòng)加載規(guī)范

PSR-4(PHP Standard Recommendation 4)是 PHP 自動(dòng)加載規(guī)范的一種。 它提供了一種標(biāo)準(zhǔn)方法,用于使用命名空間和文件結(jié)構(gòu)來加載 PHP 類。

在 PSR-4 規(guī)范中,每個(gè)命名空間都有一個(gè)對(duì)應(yīng)的文件夾。 例如,如果您有一個(gè)命名空間為 Foo\Bar,則可以將相應(yīng)的類文件放在 /path/to/project/src/Foo/Bar 文件夾中。

在 PSR-4 規(guī)范中,類名通常與文件名相同。 例如,如果您有一個(gè)命名空間為 Foo\Bar,并且有一個(gè)類名為 Baz,則可以將此類定義放在 /path/to/project/src/Foo/Bar/Baz.php 文件中。

使用 PSR-4 規(guī)范時(shí),您需要在應(yīng)用程序的 composer.json 文件中指定命名空間前綴和文件路徑。 Composer 會(huì)使用這些信息來生成自動(dòng)加載代碼,并將其寫入 autoload_psr4.php 文件中。 當(dāng)您的應(yīng)用程序運(yùn)行時(shí),Composer 會(huì)加載此文件,并使用自動(dòng)加載器函數(shù)來加載類。【推薦學(xué)習(xí):PHP視頻教程】

幾個(gè)文件分析


vendor/autoload.php

入口文件,直接包含 autoload_real.php 文件,并且調(diào)用以下方法注冊(cè)所有可用 namespace、類、文件等。

ComposerAutoloaderInitxxxxxx::getLoader()
登錄后復(fù)制

vendor/composer/autoload_classmap.php

返回?cái)?shù)組,包含所有單個(gè)類名→類文件的自動(dòng)加載文件

vendor/composer/autoload_files.php

返回?cái)?shù)組,包含了所有需要自動(dòng)加載的 PHP 文件,通常是一些全局函數(shù)等。

vendor/composer/autoload_namespaces.php

返回?cái)?shù)組,包含了自動(dòng)加載 namespace 的映射關(guān)系。

vendor/composer/autoload_psr4.php

返回?cái)?shù)組,包含遵守 PSR-4 自動(dòng)加載規(guī)范的命名空間→文件路徑的列表。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
91成人午夜在线精品| 国产精品制服丝袜| 精品中文字幕一区二区三区四区| 亚洲国产精品无码久久久秋霞2| 国产精品一区二区电影| 久久精品亚洲中文字幕无码网站 | 无码日韩人妻av一区免费| 久久99热只有频精品8| 日韩一区二区三区精品| 国产主播精品在线| 国产色婷婷五月精品综合在线| 5555国产在线观看精品| 国产精品嫩草影院永久一| 99re6在线视频精品免费下载| 国产四虎精品8848hh| 日韩精品免费电影| 国产亚洲情侣久久精品| 亚洲精品在线免费看| 国产高清在线精品二区| 日韩精品一区二区三区色欲AV| 999任你躁在线精品免费不卡| 亚洲国产精品日韩av不卡在线| 大香伊人久久精品一区二区| 久久精品国产精品亚洲艾草网 | 日韩性公交车上xxhd| 免费精品国偷自产在线在线| 久久精品99视频| 久久久久久青草大香综合精品 | 国产精品五月天强力打造| 国产福利精品视频| 欧美日本精品一区二区三区| 日韩精品人妻系列无码专区免费| 久久久久亚洲精品中文字幕| 日韩精品视频在线播放| 99er热精品视频| 99久久精品午夜一区二区| 久久夜色精品国产噜噜噜亚洲AV | 国内精品久久久久影院网站| 精品国产日韩一区三区| 国产成人高清精品免费软件| 国产乱码精品一区二区三区麻豆 |