MENUCLOSE
twitter ツイッターfeedlyRSS

オンスタでは、オンラインで学習するために役立つコンテンツを掲載しています。そのほか、UdemyをはじめとしたEラーニングサービスの紹介も行っています。

オンスタ | オンラインで学習するための近道になるサイト
【PHP】PHPでライブラリ管理!「Composer」を使ってみよう

【PHP】PHPでライブラリ管理!「Composer」を使ってみよう

公開日:2018年12月06日
最終更新日:2019年05月28日
オンスタ運営
エンジニア
プログラミング
ホーム > 全記事一覧 > 制作 > エンジニア > プログラミング > 【PHP】PHPでライブラリ管理!「Composer」を使ってみよう
このエントリーをはてなブックマークに追加
【PHP】PHPでライブラリ管理!「Composer」を使ってみよう

こんにちは!最近はまったくケイジャン(Cajon、打楽器カホンのこと)に触れていない、
ゴリラ出身のフロンドエンドエンジニア、ケイジャニストやまだです!

みなさんの中にも、普段からいろんな形でライブラリにお世話になったりすること、多分にあると思いますが、ライブラリを使っていると、

↓↓↓↓↓↓↓↓↓↓↓↓↓


「このプロジェクトを使うためにはライブラリAが必要だ!それではインストールして始めるとするか」

↓↓↓↓↓↓↓↓↓↓↓↓↓


「むむ?インストールはうまくいったけどライブラリAを動かすためにはライブラリBとCが必要のようだ。じゃあBとCもインストールしよう」

↓↓↓↓↓↓↓↓↓↓↓↓↓


「あれれ?ライブラリCをインストールしたらCを動かすためにライブラリDとEをインストールする必要があるの?」

↓↓↓↓↓↓↓↓↓↓↓↓↓


「うおおおおおお!?ライブラリEをインストールしたらEを動かすために...etc...」

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

「...................................................」

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

なんて依存地獄に陥ったこと、ありませんか?


割と普段から開発やコーディングをしているとこんな事は日常茶飯事だったりしますが、
そうならないためにも、昨今はパッケージマネージャーと呼ばれたりするパッケージを管理するツールでライブラリを管理することが多いです。
JavaScriptやcssなどフロントエンド周りだとbower(Twitter社が開発したパッケージマネージャー)や
npmなんかがよく使われていたりしますが、PHPにもパッケージ(ライブラリ)を管理するツールがあります。
デフォルトでインストールされているPEARなんかがありますが、いまやデファクトスタンダードになったComposerを使ってらっしゃる方も多い事でしょう。

というわけで今回は「PHPのライブラリを管理したい!」なんて方向けに
Composerを使ってライブラリのインストールからライブラリの読み込み、といった具合にご紹介してみたいと思います!
(僕の環境がMacですので、Mac環境でのご紹介になります。windowsの方すいません;;)

それでは今回のブログ、スタートどぇっす!

Composerのメリット

Composerはphpのライブラリ管理ツールになります。
公式サイトは以下
https://getcomposer.org/


冒頭で簡単に説明していますが、Composerを使う時のメリットについて軽くご紹介します。

「とあるライブラリAを使う」といった時、「動かすには別のライブラリBとCが必要」なんてことが起こった時に発揮されます。
通常こういった場合はライブラリAとBとC、それぞれ個別にダウンロードしてインストールしないといけませんよね。
ですがComposerを使うと、「ライブラリAに依存する必要なライブラリBとC」は自動でダウンロードしてインストールしてくれます。
この依存関係にあるライブラリを全て管理してくれるってのがComposer最大のメリットです。

他にもライブラリの最新バージョンがリリースされたりするときに、簡単にアップデートできたりと、運用していく上でも便利だったりします!

早速はじめてみましょう

さて、それでは早速始めましょう。
まずComposerを利用するためにはPHPがMacにインストールされている必要があります。
ですのでまずはちゃんと入っているか確認してみましょう!
確認は簡単。ターミナルを起動して以下のコマンドを打ちます。

これで以下のようにphpの内容が表示されればオケオケオケーです!

もし表示されない場合はphpをインストールする必要がありますので、
別途インストールをお願いします。

Composerをインストール

やり方は幾つかあります。Homebrewを使ってインストールもできますが、
今回は普通にターミナルからインストールする方法でいきます。

左側のURLのinstallerを「|」で挟んでphpで実行する感じです。
ダウンロードしてきたcomposer.pharファイルを移動しましょう

これでオッケーです。
ターミナルで以下のコマンドを打ってみましょう。

以下の画面が表示されればオケオケオッケーです!

Composerコマンドのオプション

これでComposerがインストールできたのでコマンドを早速打ってみましょう

これを打つとコマンドでつけられるoptionなどが表示されます。
また、先ほど打ったComposer -vというコマンドは、Composerのバージョンを表示するコマンドになります。

インストールの下準備

それではComposerでライブラリをインストールしてみましょう。といきたいところですが、先に下準備を済ませます。
サンプルではphpQueryというライブラリをインストールします。

適当にディレクトリを作成してそこへ移動

まず適当にディレクトリを作成します。

これでtestフォルダを作成して、testフォルダへ移動という感じになります。

 

composer.jsonファイルを作成して設置

作成します。

作成したら編集するので以下コマンドを打ちましょう。
これで関連付けられているテキストエディタとかで開けると思います。

関連付けを特にしていないようでしたら、Finderなどで直接ディレクトリを覗いてみてください。
そちらにcomposer.jsonファイルがありますのでそちらを開いてください。

 

composer.jsonに設定を記述

開いたら以下の記述をしましょう。

記述が完了したら準備オケオケオッケーです!

いざライブラリのインストール

composer.jsonにインストールしたいライブラリを先ほど記述しましたので、そのままインストールを開始しましょう。以下コマンドでインストールを開始します。

少し時間がかかりますがこれでインストールが完了します。
ディレクトリはこんな感じになっているはずです。

詳細は次の章でご紹介します!

実際にライブラリを使う

さてここまででインストールは完了です。実際にライブラリを使ってみましょう!
以下コマンドでファイルを作成します。

作成したらファイル内に以下の記述をしましょう。

これでパッケージの読み込みは完了です!
お疲れ様した!

 

ちょっと解説

基本的にはComopser経由でインストールしたライブラリは
上記のvendorフォルダへと格納されます。
で、auotload.phpファイルに記述が追加されますので、
requireで読み込んでもらえればそのまま使っていくことができます。

また、ライブラリを追加するときはcomposer.jsonに追記するか、
以下のコマンドで追加できます。

後ろの「~/~」部分にライブラリ名を入力すれば追加されます!
今回のphpQueryであれば「electrolinux/phpquery」ですね。

また、composer.lockというファイルも作成されます。このファイルがあると、他の誰かがこのプロジェクトを使う時にこちらに書いてあるバージョンを優先してインストールするようになります。

一つのプロジェクトで複数人が作業する時に必要なファイルですね!
というわけで今日はここまで!

お試しあれ!

むすびに

いかがでしたか?
僕もこの辺でちょこちょこライブラリを足してごにょごにょし始めたのは
最近なもんですから、説明拙いかもしれませんが、ぜひ一度お試しください!

ではでは!みなさまごきげんよう〜!

関連コンテンツ

【Nuxt.js】Vue.js + SSR を利用したWebサイトコーディングの可能性
エンジニア
マークアップ
公開日: 2017年01月10日
最終更新日: 2019年06月26日
【Nuxt.js】Vue.js + SSR を利用したWebサイトコーディングの可能性
オンスタ運営
Scratchなら遊び感覚で学べる!サービスの特徴やメリットをピックアップ
プログラミング
公開日: 2019年08月04日
最終更新日: 2019年08月01日
Scratchなら遊び感覚で学べる!サービスの特徴やメリットをピックアップ
  • # Scratch
オンスタ運営
【JSプラグイン】スクロール連動型アニメーション!jQuery不要のJSプラグイン「AOS」!
Webデザイン
プログラミング
公開日: 2017年07月17日
最終更新日: 2019年05月28日
【JSプラグイン】スクロール連動型アニメーション!jQuery不要のJSプラグイン「AOS」!
オンスタ運営
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
エンジニア
プログラミング
公開日: 2016年12月06日
最終更新日: 2019年05月28日
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
オンスタ運営
【すべてのWeb制作者に伝えたい】Webサイトのフィードバック・チェックツール Pageproofer
エンジニア
公開日: 2019年02月09日
最終更新日: 2019年05月28日
【すべてのWeb制作者に伝えたい】Webサイトのフィードバック・チェックツール Pageproofer
オンスタ運営
独断と偏見で選ぶ Chrome DevToolsの便利な機能 8選!
エンジニア
公開日: 2019年03月07日
最終更新日: 2019年05月28日
独断と偏見で選ぶ Chrome DevToolsの便利な機能 8選!
オンスタ運営
AMP (Accelerated Mobile Pages) HTML のおさらい
エンジニア
公開日: 2016年11月14日
最終更新日: 2019年05月28日
AMP (Accelerated Mobile Pages) HTML のおさらい
  • # AMP HTML
オンスタ運営
PHPエンジニアが取得したい資格!PHP技術者認定試験とは?
オンライン学習
プログラミング
公開日: 2019年06月14日
最終更新日: 2019年06月18日
PHPエンジニアが取得したい資格!PHP技術者認定試験とは?
  • # PHP技術者認定試験
  • # pickup
オンスタ運営
【Mac】SSH接続でXserverに接続してみよう(SSHクライアントソフト FileZilla設定も解説)
エンジニア
公開日: 2017年02月01日
最終更新日: 2019年07月04日
【Mac】SSH接続でXserverに接続してみよう(SSHクライアントソフト FileZilla設定も解説)
オンスタ運営
【初心者向け】cssアニメーションの基礎から簡単な作成サンプルまで一気にご紹介!
エンジニア
制作
公開日: 2019年09月02日
最終更新日: 2019年09月02日
【初心者向け】cssアニメーションの基礎から簡単な作成サンプルまで一気にご紹介!
オンスタ運営
全記事一覧

web制作者にオススメのオンライン学習サイト「Udemy」

世界最大級のコースがラインナップ!電子書籍サイト「Udemy」

世界最大級のコースがラインナップ!オンライン学習サイト「Udemy」

「Udemy」ではいつでもどんなトピックでも、専門家が教える何千ものコースを用意されており、無料で学べるコースも多数あります。もうちょっと勉強したいな。スキルアップしたいな。と思ったら是非チェックしてみてください。