PHP
WordPress
coda
Plugin

Coda2 プラグインの作り方【PHP PSR-2 Fixer から学ぶ】

スクリーンショット 2018-01-04 1.52.21.png


 スクリーンショット 2018-01-04 1.52.21.png Coda2 とは

  • Panic社のコーディング・エディタ
  • 有料(税込9,800円)
  • WEB開発向けの単体アプリ。

  • SSH接続、ファイル転送、ターミナル、MySQL、Git、Webサイトのプレビュー付きなど、Web開発のコーディングに必要なものを1つのアプリにパックしたようなアプリ。

お金を払ったので使い倒したい

∴ プラグインを作りたい(PHPで)


学ぶとは真似ぶ

車輪の再発明とは写経


やりたいこと

  1. プラグインの呼び出し(実行)
  2. コードを TEMP に保存
  3. TEMP のコードを PHP で整形する
  4. 整形結果を返してオリジナルに反映

PHP PSR-2 Fixer プラグインとは

コード整形プラグイン。 PHP のソースコードを PSR-2 に準拠するように PHP_CodeSniffer を使って整形してくれるプラグイン。コード規約が PSR-2 縛りの場合に便利。


PSR-2_Before-After.png


PHP PSR-2 Fixer プラグインのダウンロード


プラグイン・ファイル
「xxx.codaplugin」を作るのに必要なもの


スクリーンショット 2018-01-04 3.08.54.pngCoda Plug-In Creator

スクリプトや同梱ファイルをドラッグ&ドロップして実行すると .codaplugin にコンパイルしてくれる。

ダウンロード: http://download.panic.com/coda/Coda%20Plug-in%20Creator.zip


プラグインの構造を覗いてみる


"PHP PSR-2 Fixer.codaplugin"の場合

https://github.com/gabfl/PHP-PSR-2-Fixer-Coda-Plugin/tree/master/PHP%20PSR-2%20Fixer.codaplugin

  • プラグインを右クリックして「パッケージの内容を表示」でも同じものが見れる
  • プラグインの保存先: /Users/<user>/Library/Application Support/Coda 2/Plug-ins/

"Coda Plug-In Creator" が作ってくれるので、余り深く考えないことにする


"Coda Plug-In Creator" で
"PHP PSR-2 Fixer.codaplugin" を開いてみる


説明
スクリーンショット 2018-01-04 3.28.39.png コマンド名:
「コマンド」メニューからプラグイン名を選んだ時のメニュー名

説明
スクリーンショット 2018-01-04 3.28.39.png 実行スクリプト:
ソースを TEMP にコピーし、④で指定された PHP ファイルを実行させるシェル・スクリプト。[fixer.sh のソースを読む]

説明
スクリーンショット 2018-01-04 3.28.39.png スクリプトへのデータの渡し方:
ここでは全体を "fixer.sh" に渡すので「書類」。処理結果で置き換えるので「現在の書類と置換」

説明
スクリーンショット 2018-01-04 3.28.39.png 実処理ファイル:
PSR-2 にコードを整形するPHPファイル phpcbf.phar と 整形ルールのファイル rules.xml
phpcbf.pharPHP_CodeSniffer-vオプション付きで PHPアーカイブしたもの

総括

独自処理の PHP を作って .phar 化して差し替えてプラグインをコンパイルすれば、PHPで独自プラグインが作れそう。

WordPress のPHPコード規約に準拠した PHP-Codesniffer のXMLと差し替えるとか。

整形以外のプラグインを作りたい場合は、Coda Plug-in Kitのサンプルが参考になるかも。


参考文献