はじめに
こんにちはMizokeiです。PHPによる開発を行うにあたり、パッケージマネージャーは大きな役割を果たしてくれます。みなさんは、composerを使用しておりますでしょうか。
私が、システム開発を行うプロジェクトにアサインされるまでは、ひたすらバッチを書き続ける、名ばかりのシステム担当でした。プログラムは、縦に長く続き、適切なメソッドの作り方も分からない、数年後には記憶にも残っていないソースコード、フレームワークの使い方も分からない、永遠のエンジニア入門生でした。
しかし、ある時、システムの開発プロジェクトにアサインされ、パッケージマネージャーなるものを知りました。これ程までに便利で強力なものはありませんでした。そして、後悔しました。何故知ろうとしなかったのか。学ばなかったのか。
パッケージマネージャー
パッケージマネージャーとは、パッケージ管理システムと称されます。Wikipediaを引用すると、以下のような表現となります。
パッケージ管理システム(パッケージかんりシステム)は、オペレーティングシステム (OS) やプログラミング言語というひとつの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。
出典: フリー百科事典『ウィキペディア(Wikipedia)』
注目すべきは、「依存関係を管理するシステム」という表現です。
私たちは、何度も同じようなプログラムを書く必要はありません。過去の博識な方々が作った、既にテストされたプログラムを使って、出来上がったロジックを組み合わせて、仕組みを構築する方が安心です。では、何故それをしていなかったか。ただ、私が無知なだけでした。
パッケージマネージャーは、様々なパッケージ化されたフレームワークやライブラリを、インストールコマンド一つで依存関係を管理してくれます。本来であれば、利用するライブラリを使うには、書かれているコードを理解し、複数のライブラリ間で必要とされるコードをさらに用意しないといけません。
ですが、パッケージマネージャーは、複数のライブラリ間における依存関係を紐解き、動的に、そして自動的に解消してくれるのです。利用するユーザーは、ただ、使いたいフレームワークやライブラリを、インストールするだけで使える状態になるのです。
…使わない理由は、ありますか?
composerをインストールする
まずは、composerをインストールしましょう。以下のサイトで確認できます。
トップページにアクセスすると「Download」のリンクが見えるかと思います。
「Download」のページにアクセスすると、まっさきに「Windows Installer」の見出しが目に入るかと思います。
リンクとして記載されている「Composer-Setup.exe」をクリックし、インストーラをダウンロードしましょう。あとは、インストーラーの手順に従い、インストールすれば完了です。
インストールされたことの確認は、コマンドプロンプトを開き、以下のコマンドを実行しましょう。
0 1 2 |
composer diag |
問題なく実行できると、以下のように各項目について「OK」が表示されることでしょう。(使用している環境が最新のcomposerではないために、バージョンのお知らせが表示されておりますが、最新のものであれば表示はされません。)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
C:\Users\HogeHoge-PC>composer diag Checking platform settings: OK Checking git settings: OK Checking http connectivity to packagist: OK Checking https connectivity to packagist: OK Checking github.com rate limit: OK Checking disk free space: OK Checking pubkeys: Tags Public Key Fingerprint: ※省略 Dev Public Key Fingerprint: ※省略 OK Checking composer version: You are not running the latest stable version, run `composer self-update` to update (2.0.7 => 2.1.6) Composer version: 2.0.7 PHP version: 7.4.12 PHP binary path: ※省略 OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020 cURL version: 7.70.0 libz 1.2.11 ssl OpenSSL/1.1.1h zip extension: OK |
※セキュリティの観点から、一部「※省略」しておりますが、実際には適切な文字やファイルパスが表示されます。
おわりに
今回は、システムやツールを開発するうえで、必ずと言っても良いほど必要なパッケージマネージャーの紹介とインストールまでを扱いました。これからシステム開発を行う予定の人は、まずは自身の端末にcomposerをインストールすることから始めましょう。
それでは、また別の記事でお会いしましょう。それでは。
関連記事
【社内SE】社内システムエンジニアが直面すること