composer 【php依存管理ツール】

「え?composer使ったことないとかマジすか!?」

って誰かに言われた気がするので急いで勉強開始。

事の発端は、先日ローカル環境にslim3をcomposerで入れようとした時の事。
slim3のついでに oauth2系の何かしらを入れようと思ったけどなんかうまく行かなった。

とりあえず早くコードが書きたかった僕はslim3のみを入れて
OAuthについては自前でかく事を決意。(どうせなんちゃってOAuthだし)

でも本当は気が付いてる。
このご時世、人が作ったものを如何にしてうまく利用できるか、が大事な事を。

composerを理解することはその第一歩なんだと
(主要なframeworkのインストールはみんな軒並みcomposerっぽい)
ドキュメントを見るとアレルギー反応を起こして眠ってしまう体に鞭打って
覚えたことをとりあえずメモしてみることにします。

僕が欲しかったのは phpunit
ついでにmonologも入れとくよ!
そう驚くべきことに、この男、今までテストツールを使用していなかったのです。
仮にテストに工数を割いたとしても、やる気が超絶でないので
多分、増えた時間分さぼってしまって品質が上がらない、ということになるのが目に見えてます。
SE3大美徳ですね(ぉぃ
まぁこのツールの使いかた自体も学ばなくちゃいけないのでそれはそれで頑張るとして
レッツいんすとーる!

1. composerのインストール

windows機の場合はインストーラが配布されるのでそれを実行しましょう。
linuxの場合は
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
コマンド打ってインストール

どちらもコマンドで
composer
って打って何かそれっぽいロゴがAAで出てきたらインストール成功

2. composer.json を作る

composerの使い方のサイト見てると
composer.jsonの書き方は書いてあるけど、どこに置くかは書いてないことが多く
無知な僕は途方に暮れてました。
設置する場所はインストールしたいディレクトリ直下でいいみたいでした。
c:\vhost\hoge にインストールしたい場合は
c:\vhost\hoge\composer.json というファイルを作ってそこに設定を書くってことですね。
実際に書いた内容は

{
    "require": {
        "monolog/monolog": "1.*",
        "phpunit/phpunit": "3.7.*"
    }
}

このプロジェクトには monologとphpunit が必須です
と書いておいて、それをもとにcomposer君にそれらを準備してもらうわけですね。

3. composer 君にインストールしてもらう

2で書いたcomposer.json を元にしてインストールを開始します。
インストールしたい場所に移動してから
composer install
でOKです。

4. 完了

composerで受け取ったパッケージは原則的にvenderというフォルダの中にあるようです。
なので、venderってフォルダができてればとりあえず成功でしょうか。
venderの中に phpunit とか monolog ってのがあります。
成功した模様。やったね。

少しだけcomposerの事がわかった気がする一日でした。
(installだけじゃなくて require とか create_projectとかいうコマンドもあるけど)
そのうち自分でもパッケージ作ったりする日が来るかもしれませんね。
次はphpUnitについての勉強をしようかと思います。

ちなみに
基本的にcomposerはプロジェクト立ち上げ時に使用するものであって
既に開発中とか稼働中のプロジェクトに当てるようなもんじゃない
という事に気が付くのにだいぶ時間がかかりました。
phpUnitを途中で導入しようとか思い立ったアフォ(僕)はここで絶望した!
多分、空のディレクトリにインストールしてからファイル群を持っていくしかないのかな?

←よかったらクリックお願いします。

kataware の紹介

二児の父、職業SE、やりたいことはゲームと歌とアプリ作ったりサーバいじったり娘の服を作ったり色々あり過ぎて時間が足りなさ過ぎて病みそうだから娘に癒してもらってる。
カテゴリー: php, SE備忘録   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です