ホームページ バックエンド開発 PHPチュートリアル PHP 依存関係管理ツール Composer の入門チュートリアル

PHP 依存関係管理ツール Composer の入門チュートリアル

Nov 26, 2016 pm 02:46 PM
composer php

Composer は、PHP の依存関係管理ツールです。これにより、プロジェクトが依存するコード ライブラリを宣言でき、それらがプロジェクトにインストールされます。

依存関係管理

Composer はパッケージ マネージャーではありません。はい、これには「パッケージ」と「ライブラリ」が含まれますが、プロジェクトごとに管理され、プロジェクト内の特定のディレクトリ (ベンダーなど) にインストールされます。デフォルトでは、グローバルには何もインストールされません。したがって、これは単なる依存関係の管理です。

このアイデアは新しいものではなく、Composer はノードの npm と Ruby のバンドラーから強く影響を受けています。当時、PHP 用の同様のツールはありませんでした。

Composer は次のように問題を解決します:

複数のライブラリに依存するプロジェクトがあります。

これらのライブラリの一部は他のライブラリに依存しています。

何に依存しているかを宣言します。

Composer は、どのバージョンのパッケージをインストールする必要があるかを判断し、それらをインストールします (プロジェクトにダウンロードします)。

依存関係を宣言する

プロジェクトを作成していて、ログ記録用のライブラリが必要だとします。あなたはmonologを使用することにしました。これをプロジェクトに追加するには、プロジェクトの依存関係を記述したcomposer.jsonファイルを作成するだけです。

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}
ログイン後にコピー

私たちのプロジェクトには、1.2 以降のバージョンのいくつかの monolog/monolog パッケージが必要であることを指摘しておきます。

システム要件

Composer を実行するには、PHP 5.3.2 以降が必要です。いくつかの機密性の高い PHP 設定とコンパイル フラグも必要ですが、インストーラーは非互換性について警告をスローします。

単に zip ファイルをダウンロードするのではなく、パッケージのソースから直接インストールします。ロードしているパッケージで使用されているバージョン管理システムに応じて、 git 、 svn 、または hg が必要になります。

Composer はマルチプラットフォームであり、Windows、Linux、OSX プラットフォームで同等に動作するように努めています。

Linux/Unix でのインストール

部分インストール

Composer を実際に入手するには、2 つのことを行う必要があります。まず Composer をインストールします (これは、Composer がプロジェクトにダウンロードされることを意味します):

curl -sS https://getcomposer.org/installer | php
ログイン後にコピー

注: 上記の方法が何らかの理由で失敗した場合は、php > 経由でインストーラーをダウンロードすることもできます:

php -r "readfile('https://getcomposer.org/installer');" | php
ログイン後にコピー

これは、いくつかのチェックを行いますPHP 設定を確認し、composer.phar を作業ディレクトリにダウンロードします。これは Composer バイナリです。これは PHAR パッケージ (PHP アーカイブ) であり、ユーザーがコマンド ラインで一部の操作を実行するのに役立つ PHP アーカイブ形式です。

--install-dir オプションを使用して Composer インストール ディレクトリを指定できます (絶対パスまたは相対パスを指定できます):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
ログイン後にコピー

グローバル インストール

このファイルはどこにでも配置できます。システムの PATH ディレクトリに置くと、グローバルにアクセスできます。 Unix 系システムでは、php プレフィックスなしで使用することもできます。

これらのコマンドを実行して、システム内でグローバルにコンポーザー呼び出しを行うことができます:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
ログイン後にコピー

注: 権限が原因でアピールコマンドが失敗した場合は、sudo を使用して mv コマンドを再度実行してください。 これで、php combos.phar と入力しなくても、composer コマンドを実行するだけで Composer を使用できるようになります。

グローバル インストール (homebrew 経由で OSX 上)

Composer は homebrew-php プロジェクトの一部です。

brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer
ログイン後にコピー

Windows でのインストール

インストーラーを使用します

これは、Composer をマシンにインストールする最も簡単な方法です。

Composer-Setup.exe をダウンロードして実行すると、最新バージョンの Composer がインストールされ、システム環境変数が設定されるため、任意のディレクトリで直接 Composer コマンドを使用できるようになります。

手動インストール

システム環境変数 PATH を設定し、インストール コマンドを実行して、composer.phar ファイルをダウンロードします:

C:\Users\username>cd C:\bin
C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php
ログイン後にコピー

注: readfile エラー メッセージが表示された場合は、http リンクを使用するか、php で php_openssl.dll を有効にしてください。 .ini。 新しいファイルcomposer.pharと同じディレクトリにcomposer.batを作成します:

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
ログイン後にコピー

現在のコマンドラインウィンドウを閉じて、テスト用に新しいコマンドラインウィンドウを開きます:

C:\Users\username>composer -V
Composer version 27d8904
ログイン後にコピー

Composerを使用します

次に、Composerを使用してプロジェクトの依存関係。

依存関係を解決してダウンロードするには、インストール コマンドを実行してください:

php composer.phar install
ログイン後にコピー

グローバルにインストールし、現在のディレクトリに phar ファイルがない場合は、代わりに次のコマンドを使用してください:

composer install
ログイン後にコピー

上記の例を続けると、monolog はここからダウンロードできます。vendor/monolog/monolog ディレクトリに移動します。

自動ロード

ライブラリのダウンロードに加えて、Composer は、Composer によってダウンロードされたライブラリ内のすべてのクラス ファイルをロードできる自動ロード ファイルも用意しています。これを使用するには、次のコード行をプロジェクトのブートストラップ ファイルに追加するだけです:

require 'vendor/autoload.php';
ログイン後にコピー

これで、monolog を使用できるようになりました。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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を使用することで、この問題をうまく解決し、プロジェクトのパフォーマンスを大幅に改善しました。

PHPの継続的な使用:その持久力の理由 PHPの継続的な使用:その持久力の理由 Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

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をインストールおよび管理することにしました。

Composerを使用してLaravelアプリケーションのセキュリティを改善する方法:Wiebenieuwenhuis/Laravel-2FAライブラリのアプリケーション Composerを使用してLaravelアプリケーションのセキュリティを改善する方法:Wiebenieuwenhuis/Laravel-2FAライブラリのアプリケーション Apr 18, 2025 am 11:36 AM

Laravelアプリケーションを開発するとき、私は一般的ではあるが難しい問題に遭遇しました。ユーザーアカウントのセキュリティを改善する方法です。サイバー攻撃の複雑さの増加により、単一のパスワード保護は、ユーザーのデータのセキュリティを確保するのに十分ではなくなりました。いくつかの方法を試しましたが、結果は満足のいくものではありませんでした。最後に、コンポーザーを介してwiebenieuwenhuis/laravel-2FAライブラリをインストールし、アプリケーションに2因子認証(2FA)を大幅に追加し、セキュリティを大幅に改善しました。

See all articles