作曲家のチュートリアル
Composer は、PHP が依存関係を管理するために使用するツールです。プロジェクト内で依存する外部ライブラリ (ライブラリ) を宣言すると、Composer がこれらの依存ライブラリ ファイルをインストールします。
このチュートリアルの内容は Composer 中国語 Web サイトからのものです
英語公式 Web サイト: https://getcomposer.org/
更新日 | 更新内容 |
---|---|
2015-04-30 | Composer 中国語版 |
PHP 開発者が知っておくべき Composer の 5 つのヒント
Composer は、新世代の PHP 依存関係管理ツールです。その概要と基本的な使用法については、この記事「Composer PHP 依存関係管理の新時代」を参照してください。この記事では、PHP 開発の利便性を高めるために、Composer を使用するための 5 つのヒントを紹介します。
1. 単一のライブラリのみを更新します
特定のライブラリのみを更新し、そのすべての依存関係を更新する必要はありません:さらに、このトリックは「」の問題を解決するためにも使用できます。警告メッセージの問題」。次のような警告メッセージを見たことがあるはずです:
composer update foo/bar
何が問題でしたか?慌てないで! Composer.json を編集すると、次のように表示されるはずです。たとえば、ライブラリの説明、作成者、その他のパラメータ、または単なるスペースなどの詳細を追加または更新すると、ファイルの md5sum が変更されます。その後、Composer はハッシュ値がcomposer.lock に記録されているものと異なることを警告します。
それで、私たちは何をすべきでしょうか? update コマンドはロック ファイルを更新できますが、いくつかの説明を追加するだけの場合は、ライブラリを更新しないでください。この場合、何も更新しないでください:
Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.
この方法では、Composer はライブラリを更新しませんが、composer.lock を更新します。更新コマンドでは何もキーワードではないことに注意してください。何もパッケージによって引き起こされる結果がないというだけです。 foobar と入力しても、結果は同じです。
使用している Composer のバージョンが十分に新しい場合は、--lock オプションを直接使用できます:
$ composer update nothingLoading composer repositories with package information Updating dependencies Nothing to install or update Writing lock file Generating autoload files
2.composer.json を編集せずにライブラリをインストールします
毎回 Composer を変更する必要があると感じるかもしれません。ライブラリ.jsonをインストールするのが面倒な場合は、requireコマンドを直接使用できます。
composer update --lock
この方法は、新しいプロジェクトをすばやく開くためにも使用できます。 init コマンドには --require オプションがあり、composer.json を自動的に書き込むことができます: (質問に答える必要がないように -n を使用していることに注意してください)
composer require "foo/bar:1.0.0"
3. 初期化中に、導出は簡単です
create-projectコマンドは試しましたか?
$ composer init --require=foo/bar:1.0.0 -n$ cat composer.json{ "require": { "foo/bar": "1.0.0" }}
これにより、リポジトリのクローンが自動的に作成され、指定されたバージョンがチェックアウトされます。このコマンドは、元の URI を検索する必要がないため、ライブラリのクローンを作成するときに使用すると非常に便利です。
4. キャッシュを検討し、dist パッケージを優先します
過去 1 年間の Composer は、ダウンロードした dist パッケージを自動的にアーカイブします。デフォルトでは、dist パッケージは、「symfony/symfony」:「v2.1.4」などのタグ付きバージョン、またはワイルドカードまたはバージョン範囲「2.1.*」または「>=2.2,<2.3-dev」に使用されます。 (最小安定性として安定性を使用する場合)。
dist パッケージは、dev-master などのブランチにも使用できます。Github では、特定の git リファレンスの圧縮パッケージをダウンロードできます。ソース コードを複製する代わりに tarball の使用を強制するには、インストールと更新の --prefer-dist オプションを使用できます。
ここに例を示します (実行時間を表示するために --profile オプションを使用しました):
composer create-project doctrine/orm path 2.2.0
ここでは、twig/twig:1.12.2 の圧縮パッケージが ~/.composer/cache/files/twig/ に保存されています。小枝 /1.12.2.0-v1.12.2.zip。パッケージを再インストールするときに直接使用します。
5. 変更する場合はソースコードを優先する必要があります
ライブラリを変更する必要がある場合は、パッケージをダウンロードするよりもソースコードを複製する方が便利です。 --prefer-source を使用すると、クローン ソース コードの選択を強制できます。
$ composer init --require="twig/twig:1.*" -n --profileMemory usage: 3.94MB (peak: 4.08MB), time: 0s$ composer install --profileLoading composer repositories with package information Installing dependencies - Installing twig/twig (v1.12.2) Downloading: 100%Writing lock file Generating autoload files Memory usage: 10.13MB (peak: 12.65MB), time: 4.71s$ rm -rf vendor$ composer install --profileLoading composer repositories with package information Installing dependencies from lock file - Installing twig/twig (v1.12.2) Loading from cacheGenerating autoload files Memory usage: 4.96MB (peak: 5.57MB), time: 0.45s
次に、ファイルを変更できます:
composer update symfony/yaml --prefer-source
変更されたライブラリを更新しようとすると、Composer は変更を中止するかどうかを尋ねるメッセージを表示します:
composer status -v You have changes in the following dependencies: /path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml: M Dumper.php
本番環境の準備をする
最後に、コードを運用環境にデプロイするときは、自動読み込みを最適化することを忘れないでください:
$ composer updateLoading composer repositories with package information Updating dependencies - Updating symfony/symfony v2.2.0 (v2.2.0- => v2.2.0) The package has modified files: M Dumper.php Discard changes [y,n,v,s,?]?
パッケージをインストールするときに --optimize-autoloader を使用することもできます。このオプションを使用しない場合、20% ~ 25% のパフォーマンスの低下が見られる可能性があります。
ヘルプが必要な場合、または特定のコマンドの詳細を知りたい場合は、公式ドキュメントまたは中国語のドキュメントを読むか、JoliCode によって作成されたこのインタラクティブなチートシートをチェックしてください。
元のアドレス: Composer PHP について知っておくべき 5 つの機能
翻訳アドレス: PHP 開発者が知っておくべき 5 Composer のヒント
バージョン情報
この本のデモ コードは次のバージョンに基づいています:
バージョン情報 | |
---|---|
5.3.2以降 |

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
