composerはじめました
DESCRIPTION
Fukuoka.php Vol.8 の発表資料ですTRANSCRIPT
![Page 1: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/1.jpg)
Composerはじめました
June 2013
Fukuokaphp vol.8
![Page 2: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/2.jpg)
About Me
• WEB Developer / PHP / CakePHP / HTML / CSS / jQuery / MySQL / 佐賀 / 福岡 / 島根 / 熊本 / プリン / キイロイトリ / ミッフィー / no more トマト
• BLOG: http://php-tips.com/
• TWITTER: @nojimage
名前: 野島 隆(のじま たかし)所属:イラスティックコンサルタンツ株式会社
![Page 3: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/3.jpg)
Composerって?
![Page 4: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/4.jpg)
Composerって?
•依存管理ツールプロジェクト内のライブラリの依存関係を管理する(ライブラリAにはライブラリBが必要など)
•Linuxで言えば yum とか apt-get が近いけどちょっと違う(あれはパッケージマネージャ)
![Page 5: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/5.jpg)
vs PEAR
![Page 6: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/6.jpg)
vs PEAR
•PEAR•古くさい
•Composer
•ナウぃ
![Page 7: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/7.jpg)
vs PEAR
•PEAR•基本的にPHPシステム(サーバ)全体で依存関係を管理
•Composer
•プロジェクト単位で依存関係を管理
![Page 8: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/8.jpg)
vs PEAR
•というか、PEARレポジトリもComposerで扱えます。
![Page 9: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/9.jpg)
何が嬉しいの?
![Page 10: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/10.jpg)
何が嬉しいの?
•プロジェクト単位で依存ライブラリを管理できる
• Packagist, pear, git, svnなど各種レポジトリに対応
•シンプルcomposer.pharがあれば動く、依存状態の管理は、composer.json, composer.lockのみ
![Page 11: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/11.jpg)
使ってみる
![Page 12: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/12.jpg)
必要環境
•PHP 5.3.2+•インターネッツ (各パッケージのダウンロードに必要)
• git とか svn とか (各レポジトリを利用するなら)
![Page 13: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/13.jpg)
インストール
•プロジェクトディレクトリに移動して
curl -sS https://getcomposer.org/installer | php
で、composer.pharが取得できる。
![Page 14: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/14.jpg)
インストール
•プロジェクト毎に composer.phar を用意してもよいが、毎回は面倒なので ~/bin にインストール
•`composer` で呼び出せるようにエイリアスを作成しておくalias composer="php ~/bin/composer.phar"
![Page 15: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/15.jpg)
使いはじめる
•まずは、composer.jsonのひな形を作成する
php composer.phar init
プロジェクト名とか聞かれるので適当に入力。
![Page 16: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/16.jpg)
使いはじめる
•composer.jsonを適宜編集して
php composer.phar install
で、依存ライブラリをインストール
![Page 17: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/17.jpg)
使いはじめる
•vendor/autoload.php が作成されるので、それを、requireなどで呼び出して完了。
![Page 18: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/18.jpg)
で、どうなの?
![Page 19: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/19.jpg)
実際のところ
•シンプル最強• pearも使えるの便利• CLIが貧弱(レポジトリの追加とかもCLIでしたい)• composer.jsonの記述が面倒(よくvalidationエラーに。)•チーム開発の場合は便利なんじゃないかな•今のところそんなに活用していない
git で管理してたら submodule でイイじゃん?的な。
![Page 20: Composerはじめました](https://reader034.vdocuments.pub/reader034/viewer/2022052619/555a88e2d8b42a98568b52d2/html5/thumbnails/20.jpg)
ご静聴ありがとうございました