現在の主流の PHP フレームワークでは、composer.json という名前のファイルが見つかります。composer.json ファイルは、ダウンロードした Composer パッケージ内にあります。次の列は composer の使用法チュートリアル です。機能、プロパティ、composer.json ファイルの各プロパティの機能を紹介します。
#関数: composer.json ファイルは、現在のプロジェクトの依存関係と、依存関係に関するいくつかの関連情報を定義します共通属性の説明: 1: name は、作成者名とプロジェクト名を / で区切ったパッケージの名前を表します。 例: yiisoft/ yii2-app-basicパッケージ名にはスペースを含む任意の文字を含めることができ、大文字と小文字は区別されません (yiisoft/yii2-app-basic および Yiisoft/Yii2-app-basic)同じパッケージとみなされます)。インストールを簡素化するために、英数字以外の文字やスペースを含まない短い名前を定義することをお勧めします。 name この属性は、composer.json ファイルの必須属性です。 2: description パッケージの短い説明を示します。通常、これは 1 行の紹介です。 description この属性は、composer.json ファイル 3 の必須属性です。 versionパッケージのバージョンを示しますバージョンの形式は、X.Y.Z または vX.Y.Z、オプションの接尾辞 -dev、-patch (-p)、-alpha (-a) に従う必要があります。 、-beta (-b) または -RC、patch、alpha、beta、および RC 接尾辞の後に数字 を続けることもできます。例: 1.0.0 1.0.0-devversion この属性は、composer.json ファイルです。 必須ではない属性。通常は省略できます。 4: type はパッケージのタイプを示します。デフォルトは library です。Composer は次の 4 つのタイプをネイティブにサポートします。 library: デフォルトのタイプ。ファイルをベンダー ディレクトリにコピーするだけで済みます。 project: 現在のパッケージはプロジェクトであり、ライブラリではありません。たとえば、Yii フレームワークのcomposer.json ファイルの type 値は projectmetapackage です。要件を含み、インストールをトリガーする空のパッケージですが、ファイルは含まれておらず、ファイルには何も書き込まれません。システム。したがって、このタイプのインストールには dist やsource は必要ありません。 composer-plugin: インストール タイプ Composer-plugin のパッケージ。カスタム インストール タイプがあり、他のパッケージのインストーラーを提供できます。カスタム タイプを定義することもできますtype 属性は、composer.json ファイルの必須ではない属性です。5: キーワード検索とフィルタリングに使用されるパッケージ関連のキーワードのセットを表します
keywords この属性は、composer.json ファイルの必須ではない属性です。 6:homepageプロジェクト Web サイトの URL アドレスを表します。 Homepage この属性は、 combos.json ファイルの非必須属性7: readme は README ドキュメントの絶対パスを表しますreadme 属性は、composer の非必須属性です.json ファイル8 : time はパッケージのバージョン リリース時刻を示します は YYYY-MM-DD または YYYY-MM-DD HH:MM:SS である必要がありますformat time この属性は、composer です。 .json ファイルのオプションの属性 9: License は、パッケージのライセンスを表します。文字列または文字列配列にすることができます。 最も一般的なライセンス 推奨される表記は次のとおりです:
Apache-2.0 BSD-2-Clause BSD-3-Clause BSD-4-Clause GPL-2.0-only / GPL-2.0-or-later GPL-3.0-only / GPL-3.0-or-later LGPL-2.1-only / LGPL-2.1-or-later LGPL-3.0-only / LGPL-3.0-or-later MITライセンス関連の情報を知りたい場合は、https://spdx.org/licenses/# を参照してください。
##license この属性は、composer.json ファイルの非固有プロパティです。必須属性ですが、この情報を提供することをお勧めします。
10: authors
は、次の作成者を表します。オブジェクト配列であるパッケージ。
各作成者オブジェクトには、次の属性を含めることができます。
name: 著者の名前。通常は本名です。
email: 著者の電子メール アドレス。
ホームページ: 著者の個人 Web サイトの URL アドレス。
役割: プロジェクト内で作成者が果たす役割 (開発者や翻訳者など)。
例:
"authors": [ { "name": "huaweichenai", "email": "243681093@qq.com", "homepage": "https://www.wj0511.com/", "role": "Developer" } ],
authors 属性は、composer.json ファイルの必須属性ではありませんが、この情報を提供することをお勧めします
11: support
は、プロジェクトをサポートする情報オブジェクトを取得することを意味します。
オブジェクト情報には次の属性が含まれている必要があります:
電子メール: プロジェクトは電子メール アドレスをサポートします。
issues: 追跡問題の URL アドレス。
フォーラム: フォーラムの URL アドレス。
wiki: Wiki の URL アドレス。
irc: IRC チャット チャネル アドレス (irc://server/channel.
など) ソース: URL 参照またはダウンロード ソース。
docs: ファイルの URL。
RSS: RSS フィードの URL。
例:
"support": { "issues": "https://github.com/yiisoft/yii2/issues?state=open", "forum": "http://www.yiiframework.com/forum/", "wiki": "http://www.yiiframework.com/wiki/", "irc": "irc://irc.freenode.net/yii", "source": "https://github.com/yiisoft/yii2" },
support 属性は、composer.json ファイルの必須ではない属性です
12: require
は必須であることを意味します インストールされた依存パッケージのリスト。これらのパッケージは条件を満たす必要があります。そうでない場合はインストールされません。
例:
"require": { "yiisoft/yii2": "*" },
requireこの属性は、 combos.json ファイル
13 :require-dev
開発またはテスト実行時の依存パッケージのリストを示します
require-dev この属性は、必須ではない属性です。 combos.json ファイル
##14: autoloadPHP 自動読み込みマッピングを示しますPSR-4 および PSR-0 の自動読み込み、クラス マッピング、およびファイル参照をサポートします。推荐使用 PSR-4 规范(添加类时,无需重新生成自动加载映射)
例:
"autoload": { "psr-4": { "huaweichenai\\discern\\": "src" } }
表示自动加载当前的src目录
autoload这个属性是composer.json文件的非必须属性
15:minimum-stability
这个属性定义了按稳定性过滤包的默认值,默认为stable。所以如果你依赖dev 包,你应该在你的文件中指定。
所有包都将根据稳定性检出相应的版本,那些低于 minimum-stability 设置的版本将被自动忽略。
minimum-stability这个属性是composer.json文件的非必须属性
16:repositories
表示使用自定义的安装源
Composer 默认只使用 packagist 的安装源。通过定义 repositories 你可以从任何其他地方获取包
例:
"repositories": { "0": { "type": "composer", "url": "https://asset-packagist.org" }, "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
repositories 这个属性是composer.json文件的非必须属性
20:config
表示一组配置选项。它仅用于项目
config属性向有很多的属性,了解config下面的相关属性,参考:https://laravel-china.org/docs/composer/2018/06-config/2087
config属性中有一个常见的属性
process-timeout:请求过程超时设置
config 这个属性是composer.json文件的非必须属性
21:scripts
表示Composer 允许再安装过程的各个部分中执行脚本
script相关信息参考:https://laravel-china.org/docs/composer/2018/scripts/2095
例:
"scripts": { //当项目里有 composer.lock 文件的情况下调用 install 命令后执行 "post-install-cmd": [ "yii\\composer\\Installer::postInstall" ], //当 create-project 命令被执行后执行 "post-create-project-cmd": [ "yii\\composer\\Installer::postCreateProject", "yii\\composer\\Installer::postInstall" ] },
scripts 这个属性是composer.json文件的非必须属性
22:extra
表示scripts 使用的任意扩展数据
例:
"extra": { "yii\\composer\\Installer::postCreateProject": { "setPermission": [ { "runtime": "0777", "web/assets": "0777", "yii": "0755" } ] }, "yii\\composer\\Installer::postInstall": { "generateCookieValidationKey": [ "config/web.php" ] } },
extra这个属性是composer.json文件的非必须属性
以上がComposer.json ファイルの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。