[PHP] Composerをはじめて使って理解したメモ

こんにちわ。
WEBエンジニアの人達と話をする時に、たまにPHPを扱えないというエンジニアの人がいるんだけど、今どきのホームページ発注の際にはWordpressオーダーが多いのだが、どうやって対応しているんだろ???
と不思議に思っている下駄です。
・・・無理やりRailsとかに置き換えてるんのかな?
そんなPHPも、決して人気があるプログラム言語というわけではなく、むしろアンチPHPの人もたくさんいて、メタクソ言われているのも聞いたことがありますが、なんか宗教のような感じでどの言語がいいかという議論には加わらないようにしています。
そして既に20年以上使っているこの言語もまだまだバージョンアップされていて、Composerを使ったことが無く、知っておかないと今後厳しいと感じたので、今回は「Composer」の学習メモをブログに書いておきたいと思います。
ちなみに、今の時点での僕の知識は、Composerは、auto-installerみたいなものかな・・・と・・・
ググって簡単な知識を入れる
ググッてみたところ、侍さんのページで詳しく解説されていました。
【PHP】Composerは絶対必要!インストール方法と解説で完全攻略
どうやらComposerは「パッケージ依存管理ツール」という事のようですね。
使い方はコマンドで行い、プログラム自体にもComposerに対応しておく必要があるんですね。
ふむふむ、単純にGit的なものかと思っていたら、コーディングにも依存するという事であれば、知っておいたほうがより安心安全なパッケージ構築ができるという認識で間違いないかも。
試してなんぼ
実際に使ってみなければ、何の学習にもなりません。
手持ちのノートに入っているDockerにインストールして学習していきましょう。
インストール方法は、侍ブログの内容を参考にしてもらえると詳しく書かれているんですが、Composerの元サイトリンクは以下に載せておきます。
英語ですが、ここのDocumentationに目を通しておくと、間違いないでしょう。
簡単に僕の方で行った作業を備忘録しておきます。
Ubuntuにcomposerをインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Ubuntuに基本パッケージをインストール $ apt-get install composer # composer.pharの生成 $ wget https://getcomposer.org/installer -O composer-setup.php # インストール $ php composer-setup.php > All settings correct for using Composer > Downloading... > > Composer (version 1.9.1) successfully installed to: /var/www/html/labo/php/composer/composer.phar > Use it: php composer.phar # 不要ファイルの削除 $ rm composer-setup.php |
ダウンロードしたファイルの改ざんチェックのやり方があるので、堅牢なシステム構築が必要な場合は、以下のリンクからチェックしてみてください。
https://getcomposer.org/download/
使ってなんぼ
インストールが終わったら、composer.jsonファイルを作ってライブラリを書き込んで置くことで、一括管理が可能になります。
1 2 3 4 5 |
{ "require": { "monolog/monolog": ">=1.0.0" } } |
そして、下記のコマンドを実行すると、vendorディレクトリが作られて、そこに指定したライブラリが一括でインストールされます。
1 |
$ php composer.phar install |
余談ですが、gitと併用する場合は、.gitignoreでvendorディレクトリを除外しておきましょう。
1 |
vendor/* |
composer.jsonは色々な複雑な設定などもできるのですが、下記のリンクが非常に参考になりました。
理解できたこと
Composerを学習してみてわかったことは、PHPの色々なライブラリをたくさん使っている人が結構多いという事で、そうした人にとって、Composerは必至なんだという事が理解できました。
ほぼ自作ライブラリで事足りている僕としては、Gitで十分ということもわかりましたが、火消しで入ったプロジェクトなどで、Composerを使っている場合、理解していないと炎上が炎上を生みかねないので、やはり知識としては必要であることに間違いないでしょう。
そしてそもそも、PHPライブラリって、どういうのがあるのかわからないと、この機能を使うイメージが全く沸かないので、そのへんの知識も合わせて必要なのだが、多くのComposer解説サイトで、そうした事に触れているサイトが皆無であるという事実を知りました。
「初心者は黙っとれ!」と言わんばかりのブログが多く、世間のペチパーは一体Composerで何を管理しているのかを知るために、最後にライブラリが書かれているサイトをリンクしておきますね。