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

藏色散人
リリース: 2021-01-26 16:10:01
転載
2758 人が閲覧しました

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

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

#composer 分析

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

composer 設定項目

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

##設定リスト

#ID 設定項目 説明 1 2 3 4 キーワード homepage 時間 #バージョンリリース時間 8 ライセンス ライセンス契約 9 #著者 著者 #サポート。プロジェクトでサポートされている関連情報オブジェクトを取得します。 #11 必須 ##12 13 15 クラスマップ インクルードパス ##target-dir minimum-stability dev beta RC stable prefer-stable "prefer-stable": true config vendor -dir 22 scripts 23 extra scripts bin archive 11. 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执行复制文件。

15autoload

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

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

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!