2013年5月14日火曜日

PHPerがNetBeansを使いたくなる7つの理由

PHPerの皆様、日頃のコーディングには何をお使いでしょうか。
PHPの方はVimやEmacsよりもテキストエディタを使ってる人が多いイメージなのでSublime Text2でしょうか。
かく言う私もこのエントリーを電車の中でSublime Text2を使って書いてます。


「Sublime Text 2はじめました!」に贈る日本語での情報のリンク集


しかしながら開発をするなら僕は断然IDE派です。
ユニットテスト、補完、リファクタリング、どれをとってもIDEはプログラマーをサポートしてくれます。
また静的型付けな言語以外ではIDEの恩恵を受けにくいのではないかと考える方もいらっしゃるかもしれません。
しかしそれは杞憂です。
特にPHPは動的言語の中でもIDEの恩恵を受けやすい言語です。
つまりPHPを書く上でIDEを使わない手はありません。
どうでしょう少しはIDEに興味が湧いて来ましたか?
そこでオススメのIDEがこちらです。

NetBeans

なんとNetBeansはFuelPHPのサポートされたプラグインが有志によって開発されています。
本日はそんなNetBeansの素晴らしさをちょっとした使い方とFuelPHPの使い方をご紹介したいと思います。
(決してJava Day Tokyoのセッション中ではありません)

※対象はNetBeans7.3のPHPプラグインです
ダウンロードはこちら<<

1 NetBeansの補完について
NetBeansのdefaultのコード補完はControl+スペースです。
例えば下記の画像のように標準のメソッドを呼ぶことができます。






また当然プロジェクトの名前空間、スコープ内のメソッドや変数も呼ぶことができます。
引数も保管し、defaultの値を指定している場合は引数を選ぶこともできます。



この他にもメソッドの上で/**とするとコメントのテンプレートを生成してくれます。
これは引数、返り値を見た上でテンプレートを作成してくれますので大変便利です。
//○○をXXする関数
と書くよりも



を書くほうが情報も多く、メンテナンス性も向上します。
またこのようにメソッドにコメント使うことコード補完時に参照され、情報として表示されます。



さらに!!
html、CSSやJSも補完してくれます。
強力にhtml5やCSS3を保管してくれます。
さらに詳しいことはこちら

コードの補完


2 NetBeansのバージョン管理ソフトウェア対応と使い方について
NetBeansはdefaultでSVN、Mercurial、Gitをサポートしています。
プロジェクト内のコードであればGUIベースで以下の通りでcommitすることができます。


Gitの場合のリモートリポジトリもGUIベースで行えます。
通常時(Conflictした時やマージの時)はCUIを使った方が楽なことも多々ありますが通常使うには十分です。
またNetBeans内でのバージョン管理とバージョン管理ソフトウェアの連携がとても強力です。
こちらの画像のようにNetBeansはdefaultで更新履歴を持ちます
(初期設定は7日分ですが任意にツール→オプション→その他→バージョン管理→履歴 から保管する日にちを変更できます)

さらにバージョン管理ソフトウェアを使えばコミットしたリビジョンも比較できます。
例えば差分は次のとおりに比較できます。

履歴を選んで差分を確認


右クリックの「履歴をから戻す」を使うとまるごと戻すことも可能も可能です。
この機能は非常に協力ですのでぜひぜひご活用ください。

3 FuelPHPのプラグインの導入
これだけでも使うには十分すぎるNetBeansの便利さですが今一番熱いPHPのWEBフレームワーク、FuelPHPに対応しています。
蛇足ですが標準でZend、Symfony、Doctrine2をサポートしています。
またテンプレートフレームワークとして使われることの多いSmartyもサポートとしています。
そしてプラグインもプロジェクトの作成も選ぶだけ。

日本語に完全対応したGUIですから非常にスムーズですね!!

4 FuelPHPの補完
そして当然FuelPHPの補完もバッチリ!!
例えばコントローラーでの補完。
モデルの呼び出し
setterやgetterの呼び出しもサポート。
当然ORMもご覧のとおり。



5 ユニットテスト
さてここまで読まれた読者さまなら一度は聞いたことがあるのではないでしょうかユニットテスト。
別名では単体テストと呼ばれ、メソッド単位で行われるテストですがPHPではPHPUnitと言うツールを使います。
NetBeansはこちらも対応済み。
ただしPHPUnit本体の導入は別途必要です^^;
WindowsユーザでXAMPP(ローカルにWEBサーバ環境を立てる)を使ったPHPUnitの導入はこちらのチュートリアルが参考になります。
そして本題のユニットテスト。


戻り値が不正の場合は
わかりやすく赤くなってくれます。
そしてFuelPHPはユニットテスト(PHPUnit)に完全対応!!
当然、ユニットテストできます。
例えばすでに作成済みのViewModelのメソッドをテストしたい場合このとおりです。
まずメソッド作ります。
そしてメソッドはやっぱりテストコードを作りたいですよね。
まずは右クリックして…



あら不思議!テストコードがまるっとできます!!
この状態でメソッドを変更すれば当然赤くなるので安心してリファクタリングできますね!!
またTDDっぽく機能追加する場合はテストコードを変更して赤(エラー)から緑(成功)を目指して修正することもできます。
今流行?TDD【テスト駆動開発】も可能です。

6 ちょっと便利なショートカット
私は実はdefaultのキーマップからEclipseに変更していますw
なのでフォーマットはControl+Shift+Fです。
defaultではAlt+Shift+Fです。
オプションのエディタのタブでフォーマットの設定も行えます。
また保存時に自動的にフォーマッターを走らすことができます。
統一感のある美しいソースになるのでフォーマッターは是非ともご活用ください。
またメソッドを選択時にF3で行われるメソッドの参照先への移動(メソッドジャンプ)も非常に便利です。
その他にも四角選択(矩形選択)や一括置換も非常に便利で協力です。
是非、お時間があるときにはNetBeansのオプションのショートカットキー一覧を見てみて下さい。

7 NetBeansの組み込みブラウザの使い方
NetBeansといえばきしださん。
きしださんの「きしだのはてな」がすごく情報が詰まってます。
NetBeans使いは是非一読ください。
そして組み込みブラウザにも詳しく書いてありますのでこちらを御覧ください。

NetBeans7.3(Beta)に組込みブラウザがついて想像以上にすばらしい


ここまで読んでくれた皆様、NetBeansに興味が湧いて来ましたでしょうか?
開発環境は好みで選ぶべきですが「よくわからないけどEclipseを使ってる」や「みんなが秀丸だから秀丸を使ってる」って方は非常に損をしていると思います。
日本語対応しているNetBeansの機能の豊富さを知らずに開発するのは残念です。
ですので一度でも試していただけたらと思います。