検索
ホームページ開発ツールcomposerPHP 開発者が知っておくべき 5 つのコンポーザに関するヒント

Composer は、新世代の PHP 依存関係管理ツールです。この記事では、PHP 開発の利便性を高めるために、Composer を使用するための 5 つのヒントを紹介します。

PHP 開発者が知っておくべき 5 つのコンポーザに関するヒント

1. 1 つのライブラリのみを更新する

特定のライブラリのみを更新し、すべてを更新したくない単純な

composer update foo/bar

さらに、このトリックは「警告メッセージの問題」を解決するためにも使用できます。次のような警告メッセージを見たことがあるはずです:

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.

Rub、何が問題でしたか?慌てないで! Composer.json を編集すると、次のように表示されるはずです。たとえば、ライブラリの説明、作成者、その他のパラメータなどの詳細を追加または更新したり、スペースを追加したりすると、ファイルの md5sum が変更されます。 Composer は、ハッシュ値が Composer.lock に記録されているものと異なることを警告します。 ######だから何をすべきか? update コマンドはロック ファイルを更新できますが、いくつかの説明を追加するだけの場合は、ライブラリを更新しないでください。この場合、何も更新しないでください:

$ composer update nothing

Loading composer repositories with package information

Updating dependencies

Nothing to install or update

Writing lock file

Generating autoload files

この方法では、Composer はライブラリを更新しませんが、composer.lock を更新します。更新コマンドでは何もキーワードではないことに注意してください。このパッケージが引き起こすものは何もありません。 foob​​ar と入力しても、結果は同じです。

使用している Composer バージョンが十分に新しい場合は、--lock オプションを直接使用できます:

composer update --lock

2.composer.json を編集せずにライブラリをインストールします

ライブラリをインストールするたびにcomposer.jsonを変更するのは面倒だと感じるかもしれませんが、その場合はrequireコマンドを直接使用できます。

composer require "foo/bar:1.0.0"

このメソッドは、新しいプロジェクトをすばやく開くためにも使用できます。 init コマンドには --require オプションがあり、composer.json を自動的に書き込むことができます: (質問に答える必要がないように -n を使用していることに注意してください)

$ composer init --require=foo/bar:1.0.0 -n
$ cat composer.json
{
    "require": {

        "foo/bar": "1.0.0"
    }
}

3.簡単です

初期化中に、create-project コマンドを試しましたか?

composer create-project doctrine/orm path 2.2.0

これにより、リポジトリのクローンが自動的に作成され、指定されたバージョンがチェックアウトされます。このコマンドは、元の URI を検索する必要がないため、ライブラリのクローンを作成するときに使用すると非常に便利です。

4. キャッシュを検討し、dist パッケージを優先する

過去 1 年の Composer は、ダウンロードした dist パッケージを自動的にアーカイブします。デフォルトでは、dist パッケージは、「symfony/symfony」:「v2.1.4」などのタグ付きバージョン、またはワイルドカードまたはバージョン範囲「2.1.*」または「>=2.2,

dist パッケージは dev-master などのブランチにも使用できます。Github を使用すると、git で参照される圧縮パッケージをダウンロードできます。ソース コードを複製する代わりに tarball の使用を強制するには、インストールと更新の --prefer-dist オプションを使用できます。

以下は例です (実行時間を表示するために --profile オプションを使用しました):

$ composer init --require="twig/twig:1.*" -n --profile

Memory usage: 3.94MB (peak: 4.08MB), time: 0s

  

$ composer install --profile

Loading 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 --profile

Loading composer repositories with package information

Installing dependencies from lock file

  - Installing twig/twig (v1.12.2)

    Loading from cache

  

Generating autoload files

Memory usage: 4.96MB (peak: 5.57MB), time: 0.45s

ここでは、twig/twig:1.12.2 の圧縮パッケージが ~/ に保存されています。 .composer /cache/files/twig/twig/1.12.2.0-v1.12.2.zip。パッケージを再インストールするときに直接使用します。

5. 変更する場合は、まずソース コードを作成します

ライブラリを変更する必要がある場合は、パッケージをダウンロードするよりもソース コードを複製する方が便利です。 --prefer-source を使用すると、クローン ソース コードの選択を強制できます。

composer update symfony/yaml --prefer-source

次に、ファイルを変更できます:

composer status -v

You have changes in the following dependencies:

/path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml:

    M Dumper.php

変更したライブラリを更新しようとすると、Composer は変更を中止するかどうかを確認するメッセージを表示します:

$ composer update

Loading 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,?]?

準備運用環境の場合

最後に、コードを運用環境にデプロイするときは、自動読み込みを最適化することを忘れないでください。

composer dump-autoload --optimize

インストール時に --optimize- を使用することもできます。パッケージのオートローダー。このオプションを使用しない場合、20% ~ 25% のパフォーマンスの低下が見られる可能性があります。

コンポーザー関連の技術記事をさらに詳しく知りたい場合は、

composer 列をご覧ください。 !

以上がPHP 開発者が知っておくべき 5 つのコンポーザに関するヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
作曲家の目的:PHPでのプロジェクト依存関係の管理作曲家の目的:PHPでのプロジェクト依存関係の管理Apr 30, 2025 am 12:01 AM

PHPプロジェクトの依存関係を効果的に管理し、バージョンの競合や手動ライブラリ管理の手間を回避できるため、作曲家が必要です。 Composerは、Composer.jsonを介して依存関係を宣言し、Composer.Lockを使用してバージョンの一貫性を確保し、依存関係管理プロセスを簡素化し、プロジェクトの安定性と開発効率を向上させます。

作曲家:AIを介したPHP開発の援助作曲家:AIを介したPHP開発の援助Apr 29, 2025 am 12:27 AM

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

作曲家になる:トレーニング、教育、経験作曲家になる:トレーニング、教育、経験Apr 28, 2025 am 12:11 AM

作曲家になるには、音楽理論、調和、対抗点を習得し、楽器のトーンとパフォーマンスのスキルに精通する必要があります。作曲家は音楽を通して感情と物語を表現し、創造的なプロセスには、作品へのアイデアの構築と改善が含まれます。

作曲家の識別:重要な要素作曲家の識別:重要な要素Apr 27, 2025 am 12:27 AM

作曲家を識別するための重要な手順には、次のものがあります。1)ベートーベンのドラマやパワーなどの作曲家の文体的な特徴の分析。 2)バッハのバロック様式などの作曲家の歴史的背景と文化的影響を理解する。 3)単一の要素のみに依存することによって引き起こされる誤判断を避けるために、作業のメロディー、調和、リズム、構造を包括的に分析する。

作曲家:PHP開発におけるAIの未来作曲家:PHP開発におけるAIの未来Apr 26, 2025 am 12:10 AM

Composer'sfutureinphpdevelopments withaiincludes:1)ai-enhanced dependencymanagementforsuggestinglibraries、2)ai-drivencodegeneration forialeoredboilerplate、および3)

作曲家のスキルと資質:概要作曲家のスキルと資質:概要Apr 25, 2025 am 12:03 AM

成功した作曲家になるには、音楽理論、楽器のパフォーマンス、サウンドデザインなどのスキルや、キャプチャと絶え間ない仕事の修正への鋭いインスピレーションが必要です。作曲家はこれらのスキルと特性を使用して、感情と思考を音楽作品に変え、リスナーと共鳴します。

作曲家の資格:習熟度の評価作曲家の資格:習熟度の評価Apr 24, 2025 am 12:15 AM

作曲家の習熟度は、次の4つの側面で評価できます。1)パッケージ、依存関係、バージョン制御などの基本概念を理解する。 2)Composer.jsonの解析、依存関係の解決、パッケージのダウンロード、Autoloadファイルの生成を含むマスターコア関数。 3)ComposerInstall、更新、要求、およびダンプオートロードなど、基本的および高度なコマンドを使用するのに習熟しています。 4)Composer.Lockファイルの使用、AutoLOAD構成の最適化、定期的にキャッシュのクリーニングなどのベストプラクティスを適用します。

作曲家:自動タスクのAIを活用します作曲家:自動タスクのAIを活用しますApr 23, 2025 am 12:03 AM

Composerを使用してAIを組み合わせて自動タスクを実現します。 1。Composerは、構成ファイルを介して依存関係を管理し、AIはバージョンの選択を最適化できます。 2。実際のアプリケーションでは、AIを使用して、依存関係の管理、テスト、展開を自動化できます。 3.パフォーマンスの最適化には、依存関係の負荷とキャッシュ戦略が含まれます。 4.バージョンの競合やAIの誤判断などの問題に注意してください。これらの方法により、AIは仕事の効率と知性を改善できます。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません