php composer使用

3804 ワード

Composer-POPで使用される依存の管理(dependency)
定義#テイギ#
  • composerはPHPにおいて依存関係を管理するためのツールである.依存する外部ツールライブラリ(libraries)を自分のプロジェクトで宣言することができます.Composerは依存するライブラリファイルをインストールします.
  • ComposerはPHP 5を必要とする.3.2+以上の環境で動作します.いくつかの敏感なPHP設定とコンパイルフラグも必要ですが、インストーラは互換性がない場合に警告します.
  • Composerは、Windows、Linux、OSXに適用されるマルチプラットフォーム対応です.インストール
  • linux
  • curl -sS https://getcomposer.org/installer | PHP
  • --install-dirオプションを使用して、Composerのインストールディレクトリ(絶対パスまたは相対パス)
  • を指定できます.
  • mv composerをグローバルにインストールする.phar/usr/local/bin/composerは、php composerを入力することなくcomposerコマンドを実行するだけで使用できるようになりました.phar.

  • windowsダウンロードhttps://getcomposer.org/Composer-Setup.exe windows composerの環境変数
  • を設定する必要がある場合があります
  • composer-Vバージョン番号composer-help表示コマンドヘルプ
  • 参考文献http://docs.phpcomposer.com/
  • composer中国ミラーの使用http://pkg.phpcomposer.com/ composer.jsonファイル説明
  • require key
    {
        "require": {
            "monolog/monolog": "1.0.*"
        }
    }
  • requireでは、monolog/monologなどのパケット名をパケットバージョン(1.0.*など)のオブジェクトにマッピングする必要があります.
  • パッケージ名は、仕入先名とそのプロジェクト名からなる
  • バージョン演算子
  • 正確バージョン1.0.2
  • ワイルドカード1.0.*1.0のすべてのバージョン
  • 範囲>、>=、<、<=、!=、複数の範囲を定義し、カンマで区切ることができます.これは論理AND処理と見なされます.パイプシンボル|は論理ORとして処理されます.
  • 賦値演算子~1.2,~1.2は>=1.2,<2.0に相当し、1.2以上の任意のバージョンを許可するが、2.0は含まれない.最低バージョンを指定しますが、バージョン番号の最後の数字を上昇させることができます.

  • php composerのインストールを実行する.phar install
  • は、monolog/monologの最新バージョンを見つけ、vendorディレクトリにダウンロードします.これは、サードパーティのコードを指定したディレクトリvendorに渡す慣例です.monologの場合はvendor/monolog/monologディレクトリが作成されます.
  • もう一つはinstallコマンドがcomposerを作成することです.lockファイルはあなたのプロジェクトのルートディレクトリにあります.
  • Gitを使用してプロジェクトを管理している場合はvendorを追加する可能性があります.gitignoreファイルにあります.すべてのコードをバージョンライブラリに追加することはありません.

  • composer.lock-ロックファイル
  • インストール依存後、Composerはインストール時の正確なバージョン番号リストをcomposerに書き込む.lockファイル.これにより、変更項目の特定のバージョンがロックされます.
  • updateコマンドを使用します.これにより、最新の一致するバージョン(composer.jsonファイルに基づいて)が取得され、新しいバージョンがロックファイルに更新されます.php composer.phar update
  • 依存をインストールまたは更新したい場合は、php composerのリストを白くすることができます.phar update monolog/monolog [...]

  • 自動ロード
  • ライブラリの自動ロード情報について、Composerはvendor/autoloadを生成する.phpファイル.このファイルを簡単に導入することができ、無料の自動ロードサポートが得られます.require 'vendor/autoload.php';
  • composerでjsonのautoloadフィールドに自分のautoloaderを追加します.
    {
        "autoload": {
            "psr-4": {"Acme\\": "src/"}
        }
    }
  • ネーミングスペースからディレクトリへのマッピングを定義できます.srcはプロジェクトのルートディレクトリでvendorフォルダと同級になります.例えばsrc/Foo.phpファイルにはAcmeFooクラスが含まれているはずです.Autoloadフィールドを追加したら、installコマンドを再実行してvendor/autoloadを生成する必要があります.phpファイル.
  • は、このファイルを参照してautoloaderのインスタンスも返します.呼び出しを含む戻り値を変数に格納し、より多くのネーミングスペースを追加できます.これは、テストスイートでクラスファイルを自動的にロードするのに役立ちます.たとえば.
    $loader = require 'vendor/autoload.php';
    $loader->add('Acme\\Test\\', __DIR__);
    使用例
  • 基本コマンドの使用
  • 最小化composer.json、プロジェクトディレクトリに切り替え、composerを新規作成します.json
    {
        "require-dev": {
            "phpunit/phpunit": "4.3.*"
        }
    }
  • composer installを実行
  • はvendorディレクトリを作成します.そこには関連するコードがあります.
  • はcomposerを作成します.lockファイル
  • はvendor/autoloadを生成する.phpは、自動的にロードされるphpファイル
  • である