侍テック編集部2018/12/132019/8/5こんにちは。侍エンジニア塾ブログTech編集部です。今回はPHPのフレームワークで何かと必要になってくるComposerについての解説です。まとめComposerとは画像:shutterstockComposer(コンポーザー)というと、音楽をやっている方はよく聞くかと思いますが、英語で作曲家や構成者、作成者などの意味があります。PHPではパッケージ依存管理ツールのことで、Composerはそのツールの名前。Composerはコマンド*1で操作ができるので、インストールやアップデートなど全てコマンドプロンプトやターミナル上で行います。PHPを使う際に、たくさんの処理・機能が入ったライブラリ*2(パッケージ)を使うことがあり、Composerはこれをまとめて管理しているのです。便利な機能は複雑な処理になっていることが多く、関数処理を再利用(依存)していたり、再利用している機能に新しく処理を追加してパッケージ*3になっていたりします。このライブラリを使うことによって、シンプルなコードが書けたり、複雑な処理をとっても簡単に使うことができますが、使うためにはライブラリ自体を持ってこないといけません。コマンドとは、ハードウェアやソフトウェアを実行させるための指示や命令のこと。命令文を書くコマンドプロンプト(Windows)・ターミナル(Mac)・コンソール(Linux)上で指定のコマンドを入力して命令をして実行させます。ライブラリとは、便利な機能の関数やクラス・定数のことで、プログラムの中からいつでも呼び出して利用できるようになっています。パッケージとは、まとまったライブラリのこと。ライブラリは他のライブラリに依存しており、その関連しているライブラリがまとまったものを言います。パッケージ依存管理ツールなのかは、Composerだけでは意味がなく、Composerを使うソフトウェアが必要になるということです。PHPアプリケーション開発環境の際に使用するいくつかのソフトウェアはComposerを使用していたりもします。そのプロジェクトはたくさんのライブラリに依存していることになります。Composerがまとめているライブラリ(パッケージ)は、他のライブラリに依存しているということが挙げられます。Composerをインストール画像:shutterstock必要な環境Composerをダウンロードするのには、パソコンは、WindowsでもMacでも、Linuxでも問題ありません。※ここでは主にWindows環境での開設をしてきます。5.3.2以上の環境がインストールされていることが必要になります。Downloadsからインストールができます。PHP.netのdownloadsのページ:http://php.net/downloads.php最新のバージョンで、ご自身のパソコン環境にあったものをインストールしましょう。PHPインストール手順:http://php.net/manual/ja/sam.installation.phpまたはXAMPP(ザンプ)というPHPのプログラムを実行してくれるソフトウェアからPHPを一緒にダウンロードすることができます。XAMPPをインストールしている方は、PHPをインストールしている可能性があるので確認をしてみましょう。XAMPPからのPHPダウンロード方法は下記の記事をご参照ください。2019年8月20日インストールWindowsの場合のインストール方法を見ていきましょう。Composerの公式サイトからインストーラをダウンロードします。Composer公式サイト:https://getcomposer.org/「Download」をクリックすると、下記のダウンロードページへ行きます。InstallerのところにあるComposer-Setup.exeをクリックするとダウンロードされます。保存されたフォルダからダウンロードした「Composer-Setup.exe」をダブルクリックして起動させます。ダブルクリック後、コンピューターが「このアプリがデバイスに変更を加えることを許可しますか?」と聞いてくるかもしれません。その場合は「はい」を選択して、進めてください。インストールするための画面が表示されます。何もせずに「Next」をクリックします。mode」はチェックするとアンインストーラが含まれなくなるので、チェックはしなくても問題ありません。次にインストールされているPHPの場所がどこか(=PHPのパス)を指定します。通常は自動で入っています。入っていない場合は「Browse...」をクリックして「php.exe」の場所を指定してください。※ここではZAMPPからPHPを一緒にダウンロードしたため、ZAMPPの中にphp.exeが入っています。「Next」をクリック。「php.ini」が存在していないようです。file」にチェックをして「Next」をクリック。you.」php.iniとはPHPプログラム環境を設定するファイルのことで、PHPの設定で必要な要件が不足しているようです。file」にチェックを入れて「Next」をクリック。次にプロキシの設定をします。Proxy(プロキシ)は英語で「代理」という意味があり、IT用語ではパソコンからインターネットを接続する際に、安全な通信で高速アクセスを確保してくれる中間のサーバのことです。ここでは特に何も入力しなくて構いません。「Next」をクリック。社内プロジェクトなどで使用している場合は、入力してください。インストールを行います。「Install」をクリック。インストールしています。「Next」をクリック。インストール完了です。「Finish」をクリックしてウィンドウを閉じます。インストールされているか確認をしてみましょう。「Winddows」キー+「R」キーを押して、出てきた「ファイル名を指定して実行」のウィンドウで「名前」のところに「cmd」と入力してください。コンピュータ画面左下の「ここに入力して検索」に「コマンド」と入力して出てきた「コマンドプロンプト」をクリックしてください。「OK」をクリックしすると下画像のコマンドプロンプトが開きます。カーソルがあるところに「composer」と入力して「Enter」キーを押してください。下のように、Composerのバージョンやインストールした日時などが表示されれば完了です。画像:shutterstockComposerを使用するのにあたり、コマンドを覚えておきましょう。中級の方がメインになりますが、初心者の方でもわかりやすく解説していきます。init依存しているパッケージの処理を定義しておくファイル、composer.jsonを作成。composer.jsonは自作のパッケージやinitからインストールしたパッケージでも可能です。下記のオプションをつけることが可能。※オプションをつけるときはinitの後に半角スペースを空けて入力します。require新しいパッケージをcomposer.jsonに追加・更新する。オプションで指定をしない限り、対話形式で更新を行います。vendor/package2:dev-master下記のオプションをつけることが可能。※オプションをつけるときはrequireの後に半角スペースを空けて入力します。installcomposer.jsonに指定したパッケージをインストールする。インストール先はvendorというディレクトリ(フォルダ)内に保存されます。※バージョンアップデートする際にも必要です。下記のオプションをつけることが可能。※オプションをつけるときはinstallの後に半角スペースを空けて入力します。PSR-0ルールのオートローディングをクラスマップに変換して、オートローダーを最適化するdirectory(ディレクトリ)とは、たくさんのファイルを分類して整理し保管しておく場所のことです。※フォルダと似た意味を持っています。update最新のバージョンのパッケージ更新と、composer.lockの更新composer.lockは、パッケージをインストールするとできるファイルで、パッケージのバージョン情報を持っています。vendor/*これをすることにより、ベンダー内全てのパッケージがアップデートされます。self-updateInstallと同じオプションに加え、下記オプションをつけることが可能。monologpackagistにあるパッケージレポジトリからパッケージの検索する。名前のみで検索PackagistとはComposer用の基本的なパッケージを保管している場所で、パッケージ取得元です。Composerが対応しているパッケージを集めて公開しているので、サイト内でパッケージの検索・参照ができます。オリジナルサイト:https://packagist.org/日本語サイト:https://packagist.jp/repository(レポジトリ)とは、ソースコードなど、何らかを保管している場所のこと。ライブラリレポジトリなんかは、ライブラリを保存している場所ということ。show利用可能なパッケージを全て表示する。listコマンドの一覧を表示する。共通で使えるコマンドComposerで使う全てのコマンドに共通するオプションです。PHP、Laravelなどがありますが、これらのソフトウェアを使うときにComposerも一緒に使われます。Composerを使うメリットとして必要な時に必要なライブラリをダウンロードしなくてもいい自動的に使用したいパッケージ(クラス)をインストールしてくれるオートローディングがある同じ開発現場内で、重なったライブラリをダウンロードしなくてよくなるシステムごとにライブラリをインストールしてくれ、バージョンの違いで困らないなどがあります。ライブラリによっては他のライブラリに依存していることがほとんど。使いたいときに必要なライブラリ1つ1つ探して持ってくるのは、時間がかかりとても大変な作業になってしまいますね。Composerはこの大変な作業を指示して実行しただけで行ってくれ、かつ使用したいクラスに応じたファイルも自動的に読み込んでくれるとっても便利なツールなのです。dump-autoloadPHPを継続的に学習するコツPHPの学習をしていて、わからないところが多く何回も調べながらやるのは正直、嫌になってしまいますよね。そこで、どのようにすれば継続的に学習を続けて行けるのかそのコツをご紹介します。目的を明確にするまずは、なぜPHPを学んでいるのか明確にしましょう。PHPを学んでWebサイトが作りたいWordPressの編集がしたいエンジニアとして転職したいフリーランスを目指したいなど、目的は色々あると思います。この目的を明確にすることがとても大事で、PHPを学ぶ学習意欲に繋がっていきます。目的がないまま学習をしていると、学習すること自体が目的になってしまい、ゴールのない果てしない道を進むことになります。その結果、挫折してしまう人が多いのが現状となっています。ならないためにも、PHPを学ぶ目的は言えるようにしましょう。言えない場合は、学ぶプログラミング言語自体間違っている可能性もあります。目的から学んでいる言語があっているか確認しましょう。学習プランを決める目的が明確になったら、次に学習プランを立てましょう。この学習プランを立てずに学習している人が多いのですが、学習プランがないと自分が今どのくらい進んでいて、後どのくらい学習をすればいいのか見えないので、学習をすること自体がきつく長続きしません。学習を継続的に続けるためには学習プランは必須とも言えます。いつまでに、どのレベルになっていて、最終的なゴールはいつ達成するのかはしっかり決めましょう。先生を見つける「何度もエラーになって、自分で調べては修正する」この繰り返しがPHPを学習していると起こります。調べてもよくわからないし、時間もかかってしまってプラン通りに学習が進まないというのは当然のように起こります。調べて直したけどうまく動かないしどうなってんのこのように思い、学習をすること自体に嫌気が指して挫折してしまう人も多いです。ならないためにも、「先生」を見つけることが大事になります。先生と言ってもそう簡単に探せそうにないですよね。最近ではSNSでもコミュニティーが増え、相談しやすい環境が増えてきています。いったコミュニティーや勉強会を利用して先生を見つけるのも一つの手です。学習サイトやアプリなど、無料で学習できる環境が整ってはいるものの自分に投資して学習をすることも大事です。本や有料学習サイトは、無料では学べない範囲の学習や機能が付いているので、効率的に学習をすることが可能です。投資のもう一つの方法がプログラミングスクールで学ぶことです。独学と違い、プログラミングスクールでは上で紹介した学習を継続するためのサポートが徹底されているので、最も効率の良い学び方と言えるでしょう。先生も自分で探す必要がないので、エラーなどで躓いて時間がかかる心配もありません。スクールに入るのは抵抗がありますよね。その場合は、弊社で行っている無料体験レッスンへ参加してみてください。この無料体験レッスンでは、なぜPHPを学ぶのかその目的をヒアリングして、本当にPHPを学ぶべきなのか、その学習プランはどのように立てるのかなどの提案をしています。目的をヒアリングすることで、あなたに最適な言語や学習プランが分かるので、最速でエンジニアを目指せるイメージがわきます。手軽にしかもオンラインでも受けられるので、ぜひ一度目的を明確にしてみましょう。無料体験レッスンに申し込むまとめいかがでしたか?Composerはコマンドラインからインストールやアップデート、検索などができる、とっても便利な機能なのです。はじめは特にいじることはないかと思いますが、PHPを使っていくにつれて色々と必要になってくることが増えるので、ぜひここのリストを参考にしてみてくださいね。TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。