ホームページ 開発ツール composer Composer.json ファイルの詳細な説明

Composer.json ファイルの詳細な説明

Aug 03, 2019 pm 05:11 PM
composer json

現在の主流の PHP フレームワークでは、composer.json という名前のファイルが見つかります。composer.json ファイルは、ダウンロードした Composer パッケージ内にあります。次の列は composer の使用法チュートリアル です。機能、プロパティ、composer.json ファイルの各プロパティの機能を紹介します。

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-dev

version この属性は、composer.json ファイルです。 必須ではない属性。通常は省略できます。

4: type

はパッケージのタイプを示します。デフォルトは library です。

Composer は次の 4 つのタイプをネイティブにサポートします。

library: デフォルトのタイプ。ファイルをベンダー ディレクトリにコピーするだけで済みます。

project: 現在のパッケージはプロジェクトであり、ライブラリではありません。たとえば、Yii フレームワークのcomposer.json ファイルの type 値は project

metapackage です。要件を含み、インストールをトリガーする空のパッケージですが、ファイルは含まれておらず、ファイルには何も書き込まれません。システム。したがって、このタイプのインストールには 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: autoload

PHP 自動読み込みマッピングを示します

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

クラフトCMSのキャッシングの問題を解決する:Wiejeben/Craft-Laravel-Mixプラグインの使用 クラフトCMSのキャッシングの問題を解決する:Wiejeben/Craft-Laravel-Mixプラグインの使用 Apr 18, 2025 am 09:24 AM

CraftCMSを使用してWebサイトを開発する場合、特にCSSやJavaScriptファイルを頻繁に更新する場合、リソースファイルのキャッシュ問題が発生することがよくあります。古いバージョンのファイルがブラウザによってキャッシュされ、ユーザーが最新の変更を表示しないようにすることがあります。この問題は、ユーザーエクスペリエンスに影響を与えるだけでなく、開発とデバッグの難しさを高めます。最近、プロジェクトで同様のトラブルに遭遇し、いくつかの調査の後、プラグインWiejeben/Craft-Laravel-Mixが見つかりました。

ドクトリンエンティティのシリアル化効率を改善:Sidus/Doctrine-Serializer-Bundleの適用 ドクトリンエンティティのシリアル化効率を改善:Sidus/Doctrine-Serializer-Bundleの適用 Apr 18, 2025 am 11:42 AM

多数の教義エンティティを含むプロジェクトに取り組んでいるとき、私は厳しい問題を抱えていました。エンティティがシリアル化され、脱必要にされるたびに、パフォーマンスは非常に非効率的になり、システムの応答時間が大幅に増加します。複数の最適化方法を試しましたが、うまくいきません。幸いなことに、Sidus/Doctrine-Serializer-Bundleを使用することで、この問題をうまく解決し、プロジェクトのパフォーマンスを大幅に改善しました。

Composerを使用してFecmall Advanced Projectテンプレートをすばやく構築する方法 Composerを使用してFecmall Advanced Projectテンプレートをすばやく構築する方法 Apr 18, 2025 am 11:45 AM

eコマースプラットフォームを開発する場合、適切なフレームワークとツールを選択することが重要です。最近、機能が豊富なeコマースのウェブサイトを構築しようとしていたとき、私は困難な問題に遭遇しました。スケーラブルで完全に機能的なeコマースプラットフォームをすばやく構築する方法です。複数のソリューションを試してみて、FecmallのAdvanced Projectテンプレート(Fecmall/FBBCBase-App-Advanced)を選択することになりました。 Composerを使用することにより、このプロセスは非常にシンプルで効率的になります。作曲家は次のアドレスを通して学ぶことができます:学習アドレス

作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 Apr 18, 2025 am 11:48 AM

eコマースのWebサイトを開発するとき、私は困難な問題に遭遇しました。ユーザーにパーソナライズされた製品の推奨事項を提供する方法です。当初、私はいくつかの簡単な推奨アルゴリズムを試しましたが、結果は理想的ではなく、ユーザーの満足度も影響を受けました。推奨システムの精度と効率を改善するために、より専門的なソリューションを採用することにしました。最後に、Andres-Montanez/Adcumentations Bundleを介してAndres-Montanez/Bundleをインストールしました。これは、問題を解決しただけでなく、推奨システムのパフォーマンスを大幅に改善しました。次の住所から作曲家を学ぶことができます。

作曲家との電子メールマーケティングを簡素化する方法:duwa.ioのアプリケーションプラクティス 作曲家との電子メールマーケティングを簡素化する方法:duwa.ioのアプリケーションプラクティス Apr 18, 2025 am 11:27 AM

メールマーケティングキャンペーンを行う際には、HTML形式でメールを効率的に作成および送信する方法を実行する際に、トリッキーな問題が発生しています。従来のアプローチは、コードを手動で記述し、SMTPサーバーを使用して電子メールを送信することですが、これは時間がかかるだけでなく、エラーが発生しやすいことです。複数のソリューションを試した後、HTMLメールの作成と送信に役立つシンプルで使いやすいRestapiであるduwa.ioを発見しました。開発プロセスをさらに簡素化するために、Composerを使用してDuwa.ioのPHPライブラリ-CaptainDoe/Duwaをインストールおよび管理することにしました。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

Laravelのバージョン番号を表示する方法は? Laravelのバージョン番号を表示する方法 Laravelのバージョン番号を表示する方法は? Laravelのバージョン番号を表示する方法 Apr 18, 2025 pm 01:00 PM

Laravelフレームワークには、開発者のさまざまなニーズを満たすためにバージョン番号を簡単に表示するための組み込みの方法があります。この記事では、Composer Command Lineツールの使用、.ENVファイルへのアクセス、PHPコードを介したバージョン情報の取得など、これらの方法について説明します。これらの方法は、Laravelアプリケーションのバージョン化の維持と管理に不可欠です。

See all articles