下面由composer教程欄目給大家介紹composer自動(dòng)載入的四種方式 ,希望對(duì)需要的朋友有所幫助!
composer自動(dòng)載入的四種方式
composer 是PHP的包依賴管理工具,類(lèi)似于node.js的npm 。并非官方,但已經(jīng)十分流行。
對(duì)于第三方包的自動(dòng)加載,composer 提供里四種支持。分別是psr-0,psr-4,生成class-map,直接包含files
psr-0 自動(dòng)加載
psr-1 基本代碼規(guī)范
psr-2 代碼樣式規(guī)范
psr-3 日志接口
psr-4 自動(dòng)加載
psr-0 與 psr-4的主要區(qū)別是 psr-4中下劃線不做任何處理。psr-0中下劃線會(huì)轉(zhuǎn)義為目錄分隔符
在主文件 index.php中編寫(xiě)
require 'vendor/autoload.php';
1.PSR-4
在composer.json中是這樣配置的
{ "aotuload":{ "psr-4":{ "FOO\":"src/" } } }
當(dāng)在index.php中new FOOAA 這個(gè)類(lèi)時(shí)。composer會(huì)去查找src/A/A.php.如果這位文件存在,則進(jìn)行加載
2.PSR-0
在composer.json中是這樣配置的
{ "aotuload":{ "psr-0":{ "FOO\":"src/" } } }
當(dāng)在index.php中new FOOAA 這個(gè)類(lèi)時(shí)。composer會(huì)去查找src/FOO/A/A.php.如果這位文件存在,則進(jìn)行加載
3.class-map
{ "aotuload":{ "class-map":['a/','b/','c/'] } }
composer 會(huì)掃描abc 目錄下以.php或.inc結(jié)尾的class.并生產(chǎn)新的文件映射關(guān)系,放到/vendor/composer/aotuload_classmap
4.files
{ "aotuload":{ "files":["src/my/function.php"] } }
手動(dòng)指定供提供加載的文件。如全局的function文件