PHPStorm使ってみよう

アイキャッチ画像

どんなエディタ使ってますか?

いにしえの時代には桜エディタや秀丸エディタなどの純粋なテキストエディタに、言語別の色分け設定やマクロを組んで無理矢理自動化していたり、その後Atom(2022年開発終了)といったエディタも出現しました。

現在みなさんは開発環境でどのようなエディタを使用しているでしょうか?現状ではVSCodeを使用されている方が多いでしょうか?

PHPStormがオススメな理由

VSCodeと比較してたくさんのメリットがあります。

強力なコード整形

Ctrl + Shift + Lを押下するだけでインデント、連想配列の配置など適切で見やすい形に整形してくれます。

VSCodeでも利用可能ですが、整形の定義などを設定する必要があります。

PHPStormではGUI上でどのように整形するのか直感的に分かりやすく定義できます。もちろん未定義でもデフォルトでキレイな形に整形してくれます。

スペルやコードのチェック

プラグイン無しでtypoや未定義のメソッドの使用、未使用の変数、メソッドの返値が定義している型と一致しているかどうかなどを教えてくれます。

現在のコード上で致命的なエラー、致命的ではないが修正した方が良い警告がいくつあるかも明示してくれます。

PHPDocも自動で判断し、定義と実際のパラメーターが異なる場合も警告してくれます。

普通なら実際に動作させてエラーがでて初めて気づくバグをあらかじめ潰してくれるため、手戻りが減り開発が高速化します。

composer.jsonの中身もチェックして使用しているphpのバージョンにあっているかもチェックし、非推奨となったり、廃止された関数なども警告してくれます。

強力なコード補完

導入したライブラリなどで、どのようなメソッドが利用できるのか候補を出力してくれます。目的とするメソッドの選択が楽になるだけではなく、それ以外にどのようなメソッドを持っているのかも知ることが出来ます。

特に直近1年ほどのバージョンアップでさらにコード補完が強力になり、変数名とメソッド名などからこの後あなたはこのメソッドにこの変数を利用したいのでしょう?という候補まで出てくるようになりました。もちろんちゃんと意味のある変数を定義し、命名規則をきちんとしておく必要があります。

リファクタリング機能

例えばとあるControllerの名前を変更すると、Controller自体のClass名やルーティングで設定しているController名など全ての箇所の名前を一括でリネームしてくれます。Class名だけではなく、メソッド名や変数名の変更についてもプロジェクト全体で追随し自動リネームも可能です。

DBやgitの操作

個人的にはDockerでphpMyAdminを導入したり、gitはSorcetreeを使用するのであまり使用しませんが、PHPStormから直接DBの操作やgitの操作も可能です。

継承元やライブラリへのジャンプ機能

親クラスで定義されているメソッドの処理、導入したライブラリでの内部処理などを確認したい場合メソッドにマウスカーソルをあわせると定義元のメソッドのプレビューが表示され、さらに右クリックでソースに移動を選択すると定義元のファイルタブが開き、該当メソッドの位置にすぐにジャンプ可能です。

いちいち該当ファイルを探しその中からさらにメソッドを検索する手間を省略できます。

phpだけでなくフロントエンドも

blade上でHTMLやJavaScriptを記述する際にも同様にコードチェックや補完機能が強力です。

HTMLタグは自動で閉じタグが補完されますし、JavaScriptで重複した要素指定が存在する場合は変数として事前定義するように促してくれます。

デメリット

デメリットはVSCodeと比べて少し動作が遅いこと、そして有料であることです。

複数プロジェクトを別ウインドウで開いているとCPUファンが爆音をあげる場合があります。ある程度PCのスペックが高い環境を用意しておくことをオススメします。

料金については個人利用の場合、年間の料金は16,786円となっています。ただ利用を続けることで割引があり、2年目は13,429円、3年目以降は10,072円と3割以上安くなります。

ただこの出費が苦にならなくなるくらい開発速度がアップします。

もちろん勤務先の環境によって導入の可否はあるかと思いますが、利用可能な環境であれば是非利用してみてください。