国产探花免费观看_亚洲丰满少妇自慰呻吟_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查找。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景泰县| 黑山县| 特克斯县| 弥勒县| 遵化市| 虎林市| 务川| 丹巴县| 松溪县| 平南县| 深水埗区| 卓资县| 余姚市| 青浦区| 晋中市| 南汇区| 浦县| 泰州市| 呼伦贝尔市| 霍城县| 七台河市| 湘潭县| 盘锦市| 垦利县| 余干县| 哈密市| 孝义市| 南靖县| 中江县| 邻水| 宁夏| 池州市| 长葛市| 雷州市| 恩平市| 连山| 阿图什市| 蓬安县| 怀仁县| 晋州市| 分宜县|