ざっくりComposer

ざっくりとComposerを使う。

Composerとはなんぞや

まずは、ざっくりとComposerについて説明

Composerはプロジェクト単位のPHPパッケージ管理ソフト。
PHPで設定ファイルを読みこんで、Webから指定されたパッケージをダウンロードしてディレクトリに配置したり削除したりする。
なので、PHPが動く環境が必要。

WindowsでもXAMPPなどでphp.exeがインストールされていれば使える。

Composerをインストール

環境はCentOSを想定。
またphp -v でPHP5.3以上が動くことが前提。

Windowsの場合はこちらの記事を参考に。

まず、rootになる。

次に以下のコマンドを実行。

curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer

そして、composer -V で確認。

今回は、どこからでも使えるように/bin以下に作成したけど、プロジェクトのディレクトリにインストールしてもよい。

プロジェクトにパッケージを展開

次は、プロジェクトのディレクトリに移動する。

composer.jsonというファイルを作る。
今回は、Carbonという時刻管理パッケージをインストールする。
下記のように記述する。

{
    "require": {
        "nesbot/carbon": "~1.14"
    }
}

んで、composer install を実行。

composer show -i でインストールされているか確認。

無事にインストールされいると、composer.lockファイルとvendorディレクトリができている。

composer.jsonがインストールさせたいパッケージの命令書
composer.lockがインストールされているパッケージの情報
vendorディレクトリ以下が、インストールされたパッケージの実体

追加も削除も、composer.jsonを編集してcomposer update で、自動で行われる。

また、必ずvendorディレクトリとは限らない。
それが何かのプラグインならば、Plugin/ディレクトリが作成されたりする。

コード上でパッケージを使う方法

vendorディレクトリのautoload.phpを読み込むことで、後は使いたいところで使いたいクラスがロードされる。

実際に使用した例は以下のとおり

require 'vendor/autoload.php';

use Carbon\Carbon;

echo Carbon::now()->toDateTimeString();

パッケージバージョンの書き方

requireキーで書くパッケージのバージョンの書き方はいくつかある

特定のバージョン

ex.1.0.2

範囲

演算子で範囲を指定する
ex.

  • >=1.0
  • >=1.0 <2.0
  • >=1.0 =1.2

ハイフンで範囲

ex.1.0 – 2.0

ワイルドカード

1.0以上1.1未満を指す場合は以下のように書く

ex.1.0.*

チルダ(~)

~1.2で1.2以上2.0.0未満
~1.2.3で1.2.3以上1.3.0未満

ex.~1.2

 

 

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>