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

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

WEBエンジニアの人達と話をする時に、たまにPHPを扱えないというエンジニアの人がいるんだけど、今どきのホームページ発注の際にはWordpressオーダーが多いのだが、どうやって対応しているんだろ???
と不思議に思っている下駄です。
 

・・・無理やりRailsとかに置き換えてるんのかな?
 

そんなPHPも、決して人気があるプログラム言語というわけではなく、むしろアンチPHPの人もたくさんいて、メタクソ言われているのも聞いたことがありますが、なんか宗教のような感じでどの言語がいいかという議論には加わらないようにしています。
 

そして既に20年以上使っているこの言語もまだまだバージョンアップされていて、Composerを使ったことが無く、知っておかないと今後厳しいと感じたので、今回は「Composer」の学習メモをブログに書いておきたいと思います。
 

ちなみに、今の時点での僕の知識は、Composerは、auto-installerみたいなものかな・・・と・・・

ググって簡単な知識を入れる

ググッてみたところ、侍さんのページで詳しく解説されていました。
 

【PHP】Composerは絶対必要!インストール方法と解説で完全攻略
 

どうやらComposerは「パッケージ依存管理ツール」という事のようですね。
 

使い方はコマンドで行い、プログラム自体にもComposerに対応しておく必要があるんですね。
 

ふむふむ、単純にGit的なものかと思っていたら、コーディングにも依存するという事であれば、知っておいたほうがより安心安全なパッケージ構築ができるという認識で間違いないかも。

試してなんぼ

実際に使ってみなければ、何の学習にもなりません。
 

手持ちのノートに入っているDockerにインストールして学習していきましょう。
 

インストール方法は、侍ブログの内容を参考にしてもらえると詳しく書かれているんですが、Composerの元サイトリンクは以下に載せておきます。
 

https://getcomposer.org/
 

英語ですが、ここのDocumentationに目を通しておくと、間違いないでしょう。
 

簡単に僕の方で行った作業を備忘録しておきます。
 

Ubuntuにcomposerをインストール

 

ダウンロードしたファイルの改ざんチェックのやり方があるので、堅牢なシステム構築が必要な場合は、以下のリンクからチェックしてみてください。
 

https://getcomposer.org/download/
 

使ってなんぼ

インストールが終わったら、composer.jsonファイルを作ってライブラリを書き込んで置くことで、一括管理が可能になります。
 

 

そして、下記のコマンドを実行すると、vendorディレクトリが作られて、そこに指定したライブラリが一括でインストールされます。
 

 

余談ですが、gitと併用する場合は、.gitignoreでvendorディレクトリを除外しておきましょう。
 

 

composer.jsonは色々な複雑な設定などもできるのですが、下記のリンクが非常に参考になりました。
 

PHPの外部ライブラリの管理にComposerを使う
 

理解できたこと

Composerを学習してみてわかったことは、PHPの色々なライブラリをたくさん使っている人が結構多いという事で、そうした人にとって、Composerは必至なんだという事が理解できました。
 

ほぼ自作ライブラリで事足りている僕としては、Gitで十分ということもわかりましたが、火消しで入ったプロジェクトなどで、Composerを使っている場合、理解していないと炎上が炎上を生みかねないので、やはり知識としては必要であることに間違いないでしょう。
 

そしてそもそも、PHPライブラリって、どういうのがあるのかわからないと、この機能を使うイメージが全く沸かないので、そのへんの知識も合わせて必要なのだが、多くのComposer解説サイトで、そうした事に触れているサイトが皆無であるという事実を知りました。
 

「初心者は黙っとれ!」と言わんばかりのブログが多く、世間のペチパーは一体Composerで何を管理しているのかを知るために、最後にライブラリが書かれているサイトをリンクしておきますね。
 

PHPの便利なライブラリ10選!目的別に紹介します
 

PHP 開発が爆捗る PHP ライブラリ9選
 

PHPで便利なライブラリ5種類まとめ
 

これで間違いなし!鉄板PHPライブラリおすすめ5選
 

Leave a Reply

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