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

首頁 > 學院 > 開發設計 > 正文

composer autoload

2019-11-08 19:27:17
字體:
來源:轉載
供稿:網友

Composer 架構:

name   包名

type 安裝類型  

    library: 這是默認類型,它會簡單的將文件復制到 vendor 目錄

   PRoject: 這表示當前包是一個項目,而不是一個庫。

   metapackage: 當一個空的包,包含依賴并且需要觸發依賴的安裝,這將不會對系統寫入額外的文件。

   composer-plugin: 一個安裝類型為 composer-plugin 的包,它有一個自定義安裝類型,可以為其它包提供一個 installler。

require 依賴  

"require": {    "php": ">=5.3.2"},

自動加載映射 autoload

 提供如下自動加載類型

    classmap    psr-0    psr-4    files理論上來說,項目代碼用 psr-4 自動加載, helper 用 files 自動加載,development 相關用 classmap 自動加載。 psr-0 已經被拋棄了,不過有些歷史遺留依然在用,所以偶爾也會看到。

"name": "phpunit/phpunit","autoload": {    "classmap": [        "src/"    ]},代碼目錄為:vendor/phpunit/phpunit/src. classmap引用的所有類,都會在 install/update 過程中生成,并存儲到 vendor/composer/autoload_classmap.php 文件中。這個 map 是經過掃描指定目錄(或精確到文件)所有的 .php 和 .inc 文件里內置的類而得到的。

"name": "doctrine/inflector","autoload": {    "psr-0": { "Doctrine//Common//Inflector//": "lib/" }},代碼目錄為: vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/. psr-0 的標準主要考慮到了 <5.2 的 php 中 類似 Acme_Util_ClassName 這樣的寫法, 會把下劃線分解成目錄。

"name": "illuminate/database","autoload": {    "psr-4": {        "Illuminate//Database//": ""    }},代碼目錄為:vendor/illuminate/database/。 psr-4 不在解析類中的下劃線,命名空間相當于目錄結構。

"name":         "paragonie/random_compat","autoload": {    "files": ["lib/random.php"]}

可能會有一些全局的 helper function 的存在。

autoload_real.php

不管是哪種加載方式,最終生成命名空間跟目錄的映射。 在composer/autoload_real中直接 require 所有在 autoload_files 中的文件,將 composer cli 生成的各種 autoload_psr4, autoload_classmap, autoload_namespaces(psr-0) 全都注冊到 Composer/ClassLoader 中(包含命名空間和類)。 實際遇到類不存在時,先查找autoload_classmap中注冊的類,然后Psr-4查找,最后psr-0查找。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伽师县| 双桥区| 来安县| 十堰市| 湟源县| 当涂县| 拜泉县| 肃宁县| 墨竹工卡县| 鄂伦春自治旗| 东乌珠穆沁旗| 股票| 根河市| 白水县| 馆陶县| 龙游县| 株洲县| 敦煌市| 文化| 深泽县| 铁力市| 盘锦市| 汕尾市| 英德市| 敦化市| 赣榆县| 邯郸县| 云南省| 松江区| 阿拉尔市| 科技| 芦溪县| 普兰店市| 来宾市| 鄂尔多斯市| 黔南| 百色市| 沙河市| 乐至县| 平武县| 兴海县|