Magentoのカスタマイズや機能開発をする際には、PHPStormやVS Codeのような統合開発環境(IDE)が欠かせません。
テキストエディタでMagentoのカスタマイズに挑戦するのは、正直かなり辛いものであると言っても過言ではないでしょう。

多くのMagentoに携わる技術者が利用しているのは、冒頭でもあげたPHPStormやVS Codeなどです。
(NetBeansやEclipseという選択肢もあります)
これらのソフトウエアを使ってプログラムを閲覧・作成・改変することで、テキストエディタよりも効率よく作業ができます。

そして今回、PHPStorm用にMagento公式のプラグインがリリースされました。

PHPStorm用Magentoプラグインでできること

プラグインのGithubページでは、以下のように紹介されています。

  • XMLとJavaScriptファイルに対するコード補完や定義参照
  • クラス・インターフェイスに対するXML定義の参照
  • クラス・インターフェイス・メソッドに対するPlugin定義の参照
  • クラス・インターフェイス・メソッドに対するWeb API定義の参照
  • Pluginクラスの自動生成
  • Plugin定義のチェック
  • RequireJSの参照とコード補完
  • MFTF(テストフレームワーク)の参照とコード補完
  • GraphQLに対するナビゲーション行マーカー
  • コード自動生成
  • XML設定のチェック

いくつか例にとって紹介しましょう。

クラス・インターフェイスに対するXML定義の参照

Magentoのエクステンションを開発していると、XML定義を参照しなければならないことが多々あります。
その場合、どのXMLで今作業しているクラスが定義されているかを調べるのはなかなかに手間です。
公式のPHPStormプラグインを導入すると、PHPコードの左側に、下記のようなアイコンが表示されるようになります。

PHPStormに追加されるアイコン

一番右側のアイコンをクリックすると、次のようなダイアログが表示されます。
このダイアログに表示されているXMLに、今開いているクラスが使われているということがわかります。

XML定義一覧

今までクラス名で検索していたのが、1クリックで調べられるようになるので、作業がはかどりますね。

クラス・インターフェイス・メソッドに対するPlugin定義の参照

次はPlugin定義の参照です。
先程のXML定義参照のアイコンの左隣にある、電源プラグのようなアイコンをクリックすると、そのクラス・インターフェイス・メソッドに対するPlugin定義を表示してくれます。

Plugin定義一覧

Pluginクラスの自動生成

最後はPluginクラスの自動生成です。
Magentoには、

  • before
  • around
  • after

の3種類のPluginをpublicメソッドに対して定義できる仕組みが用意されています。
ですが、このPluginを定義するときにはメソッドのパラメータ定義を都度確認しながら行う必要があり、タイプミスや定義ミスがよく起きます。
このプラグインを使えば、以下の手順で簡単にPluginの定義ができます。

  1. publicメソッドを選ぶ
  2. 右クリックでコンテキストメニューを表示させる
  3. 「Create a plugin」を選ぶ
  4. 表示されたダイアログの項目を埋める
  5. OKボタンを押してPluginクラス・メソッドとXML定義を生成する
  6. Pluginの処理を書く

今までは開発者が都度確認しながら記述していたので、プラグインを使うことで手間とミスの削減ができます。

Plugin自動生成ダイアログ

PHPStorm用Magentoプラグインのインストール方法

このプラグインのインストール方法はとても簡単です。
以下の手順でインストールできます。

  1. PHPStormのメニューから「Preferences」を選ぶ
  2. 「Plugins」を選ぶ
  3. 「Marketplace」を選び、検索フォームに「Magento」と入力する
  4. 表示されたプラグインをインストールし、PHPStormを再起動する

インストールできたら、

  1. PHPStormのメニューから「Preferences」を選ぶ
  2. 「Languages & Frameworks」を選ぶ
  3. 「PHP」を選び、「Frameworks」を選ぶ
  4. 「Magento」を選び、「Enable Plugin for this project」にチェックを付けて、設定を適用する

でプラグインが有効になります。

無料で使えるプラグインなので、PHPStormをお使いの方はぜひインストールしてみてください。