目次
"barryvdh/laravel-cors": "^0.10.0"
prs-0
classmap
file
命令篇
composer install
composer update
composer dump-autoload
ホームページ 開発ツール composer Composer は本番環境ではどのように見えるのでしょうか?

Composer は本番環境ではどのように見えるのでしょうか?

Jan 26, 2021 pm 04:10 PM
composer

次のコラムでは、composer チュートリアル コラムから Composer の生成環境について紹介します。困っている友人の役に立てば幸いです。

Composer は本番環境ではどのように見えるのでしょうか?

#composer 分析

お急ぎの場合は、最後のコマンドに直接行ってください

composer 設定項目

各設定項目の具体的な詳細については、Composer 公式 Web サイトを参照してください。

##設定リスト

#ID設定項目説明1234キーワードhomepage時間 #バージョンリリース時間8ライセンスライセンス契約 9#著者著者 #サポート。プロジェクトでサポートされている関連情報オブジェクトを取得します。 #11必須##121315クラスマップインクルードパス##target-dirminimum-stabilitydevbetaRCstableprefer-stable"prefer-stable": trueconfigvendor -dir22scripts23extrascriptsbinarchive11. requireインスタンス##インストールされている最新のバージョン
名前 パッケージの名前。ベンダー名とプロジェクト名が / で区切られて含まれます。
説明 パッケージの説明
バージョン バージョン
タイプ ##インストール タイプ 5
キーワード 6
プロジェクト ホームページ 7
##10##サポート
自動ロードされたパッケージ
require-dev DEV の下にパッケージが自動的にロードされました
conflict このリストのパッケージは、現在のパッケージのこのバージョンと競合します。同時にインストールすることはできません。パッケージはうまくいきました。これらは単なるメッセージであり、依存パッケージがインストールされた後に表示され、さらにどのパッケージを追加できるかについてユーザーに提案を提供します。
autoload 自動ロード、4 つのロードメカニズムがありますpsr-4 psr-0
ファイル ##16
伝統を維持し、 #17 を使用して定義することはお勧めしません。現在のパッケージ インストール先フォルダー18
パッケージをインストールするとき、安定性によってパッケージをフィルターします。デフォルトの動作、 alpha
オプション 19
パッケージをインストールするときは、より安定したパッケージ バージョンの使用を優先します。 20リポジトリカスタム パッケージ リソース ライブラリを使用します。デフォルトでは、composer はパッケージ リポジトリとして packageist のみを使用します。リソース ライブラリを指定すると、他の場所からリソース バンドルを取得できます。 21
設定パラメータ、例: process-timeout
Composer を使用すると、インストール プロセスのさまざまな段階でスクリプトをフックできます。 。
で使用する追加データ。 24
この属性は、バイナリ スクリプトとみなされるファイルのグループをマークするために使用されます。 will 他の依存パッケージから呼び出すために、(config オブジェクト内の) bin-dir 属性でマークされたディレクトリにソフトリンクされます。 25
これらのオプションは、パッケージ アーカイブを作成するときに使用されます。 開発構成の詳細
識別子 意味

"barryvdh/laravel-cors": "^0.10.0"

laravel-cors の最新バージョンをインストールします

~"barryvdh/laravel-cors": "~0.10.0", 0.10.0- 0.10.9
インストールされた最後の間隔バージョンを識別します laravel-cors をインストールします

12. require-dev

  1. composer install 会安装require-dev中的包,require中的包
  2. composer install --no-dev 只会安装require中的包

22. scripts

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
}
ログイン後にコピー

scripts 是自定义执行SHELL命令,如上代码中,执行post-root-package-install 执行复制文件。

15 autoload

PHP 自动加载文件,分别有四种加载机制 psr-4 psr-0 classmap file

修改完 autoload 的内容之后要记得执行composer dump-autoload 来重新生成加载文件

prs-4
  1. 该目录下的 PHP 文件 采用 PSR-4 自动加载标准
  2. Composer会将该结构下的文件映射关系写入 autoload_classmap.php
"autoload": {
    "psr-4": {
        "App\\": "app/"
    }

}
ログイン後にコピー
prs-0
  1. 该目录下的 PHP 文件 采用 PSR-0 自动加载标准
  2. Composer会将该结构下的文件映射关系写入 autoload_namespaces.php
"autoload": {
    "psr-4": {
        "Cx\\": "prs0/"
    }

}
ログイン後にコピー
classmap
  1. Composer 加载 lib/ 目录下的所有文件,放入到 autoload_classmap.php
{
    "classmap":["lib/"]
}
ログイン後にコピー
file
  1. Composer 加载 src/test.php 该文件,放入到 autoload_files.php
{
    "files":["src/test.php"]
}
ログイン後にコピー

命令篇

详细命名请参考 Composer 命令行

composer install

先安装composer.lock 文件中packages中的版本;即使composer.jsoncomposer.lock 中版本不一致

Composer は本番環境ではどのように見えるのでしょうか?

Composer は本番環境ではどのように見えるのでしょうか?

composer update

先安装composer.json的版本,并且更新composer.lockpackages 中的版本

Composer は本番環境ではどのように見えるのでしょうか?

你生产环境的 composer 是这样吗?

composer dump-autoload

CMD 说明 应用场景
composer dump-autoload 打印自动加载索引,就是将 autoload 中的各项加载到本该指定的目录。 开发环境 你更新了 autoload 中的各项,
composer dump-autoload -o 转换 PSR-0/4 autoloading 到 classmap 获得更快的载入速度 适用于生产环境
composer dump-autoload -o --no-dev 禁用 autoload-dev 规则 适用于生产环境
composer dump-autoload --classmap-authoritative 只加载 ClassMap中的文件,必到磁盘文件系统进行任何检查 适用于生产环境

因此生产请使用 composer dump-autoload -o --no-dev --classmap-authoritative

以上がComposer は本番環境ではどのように見えるのでしょうか?の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Composer の高度な機能: エイリアス、スクリプト、競合解決 Composer の高度な機能: エイリアス、スクリプト、競合解決 Jun 03, 2024 pm 12:37 PM

Composer は、次のような高度な機能を提供します。 1. エイリアス: 繰り返し参照するためのパッケージの便利な名前を定義します。 2. スクリプト: データベース テーブルの作成またはリソースのコンパイルに使用される、パッケージのインストール/更新時にカスタム コマンドを実行します。 、満足度制約、およびパッケージ エイリアスは、同じ依存関係バージョンに対する複数のパッケージの異なる要件を解決して、インストールの競合を回避します。

PHPマイクロサービスコンテナ化のアジャイル開発と運用 PHPマイクロサービスコンテナ化のアジャイル開発と運用 May 08, 2024 pm 02:21 PM

回答: PHP マイクロサービスは、アジャイル開発のために HelmCharts でデプロイされ、分離とスケーラビリティのために DockerContainer でコンテナ化されます。詳細説明: HelmCharts を使用して PHP マイクロサービスを自動的にデプロイし、アジャイル開発を実現します。 Docker イメージを使用すると、マイクロサービスの迅速な反復とバージョン管理が可能になります。 DockerContainer 標準はマイクロサービスを分離し、Kubernetes がコンテナの可用性とスケーラビリティを管理します。 Prometheus と Grafana を使用して、マイクロサービスのパフォーマンスと健全性を監視し、アラームと自動修復メカニズムを作成します。

PHP で配列をオブジェクトに変換する一般的な方法は何ですか? PHP で配列をオブジェクトに変換する一般的な方法は何ですか? Apr 28, 2024 pm 10:54 PM

PHP 配列をオブジェクトに変換する方法: stdClass クラスを使用する、json_decode() 関数を使用する、サードパーティ ライブラリ (ArrayObject クラス、Hydrator ライブラリなど) を使用する

PHPコードのバージョン管理とコラボレーション PHPコードのバージョン管理とコラボレーション May 07, 2024 am 08:54 AM

PHP コードのバージョン管理: PHP 開発では一般的に 2 つのバージョン管理システム (VCS) が使用されます。 Git: 分散 VCS。開発者はコード ベースのコピーをローカルに保存し、共同作業やオフライン作業を容易にします。 Subversion: 集中型 VCS。コード ベースの唯一のコピーが中央サーバーに保存され、より詳細な制御が可能になります。 VCS は、チームが変更を追跡し、共同作業し、以前のバージョンにロールバックするのに役立ちます。

DevOps プロジェクトにおける PHP CI/CD の役割 DevOps プロジェクトにおける PHP CI/CD の役割 May 08, 2024 pm 09:09 PM

PHPCI/CD は、ビルド、テスト、デプロイメントのプロセスを自動化し、開発効率とソフトウェアの品質を向上させる DevOps プロジェクトの重要なプラクティスです。一般的な PHPCI/CD パイプラインは次の段階で構成されます。 1) 継続的インテグレーション: コードが変更されるたびに、コードは自動的に構築され、テストされます。 2) 継続的デプロイ: テストおよび統合されたコードを実稼働環境に自動的にデプロイすることで、配信をスピードアップします。 PHPCI/CD パイプラインを実装すると、開発効率が向上し、ソフトウェアの品質が向上し、市場投入までの時間が短縮され、信頼性が向上します。

PHPのデータ構造の可視化技術 PHPのデータ構造の可視化技術 May 07, 2024 pm 06:06 PM

PHP でデータ構造を視覚化するための主なテクノロジは 3 つあります。 Graphviz: チャート、有向非巡回グラフ、デシジョン ツリーなどのグラフィカル表現を作成できるオープン ソース ツールです。 D3.js: インタラクティブなデータ駆動型の視覚化を作成し、PHP から HTML とデータを生成し、D3.js を使用してクライアント側で視覚化するための JavaScript ライブラリです。 ASCIIFlow: プロセスとアルゴリズムの視覚化に適した、データ フロー図のテキスト表現を作成するためのライブラリ。

PHP 配列のページネーションで Redis キャッシュを使用するにはどうすればよいですか? PHP 配列のページネーションで Redis キャッシュを使用するにはどうすればよいですか? May 01, 2024 am 10:48 AM

Redis キャッシュを使用すると、PHP 配列ページングのパフォーマンスを大幅に最適化できます。これは、次の手順で実現できます。 Redis クライアントをインストールします。 Redisサーバーに接続します。キャッシュ データを作成し、データの各ページをキー「page:{page_number}」を持つ Redis ハッシュに保存します。キャッシュからデータを取得し、大規模な配列での高コストの操作を回避します。

PHP CI/CD を使用して迅速に反復するにはどうすればよいですか? PHP CI/CD を使用して迅速に反復するにはどうすればよいですか? May 08, 2024 pm 10:15 PM

回答: PHPCI/CD を使用して、CI/CD パイプラインの設定、自動化されたテストおよび展開プロセスなどの迅速な反復を実現します。 CI/CD パイプラインのセットアップ: CI/CD ツールを選択し、コード リポジトリを構成し、ビルド パイプラインを定義します。自動テスト: 単体テストと統合テストを作成し、テスト フレームワークを使用してテストを簡素化します。実際のケース: TravisCI の使用: TravisCI をインストールし、パイプラインを定義し、パイプラインを有効にして、結果を表示します。継続的デリバリーを実装します。展開ツールを選択し、展開パイプラインを定義し、展開を自動化します。利点: 開発効率が向上し、エラーが減少し、納期が短縮されます。

See all articles