PHP ユーザーのための NetBeans 6.8 新機能ガイド
こんにちは、kimotoに紹介してもらったPaper Tossというゲームでスコアを競っている(と思っているのは私だけです)tanakaです。
PHPによるアプリケーション開発"も"サポートしているNetBeans IDEの最新バージョン6.8が12月10日にリリースされました。前バージョンの6.7のリリース時にPHP関連の新機能を紹介しましたが、今回も紹介しますよ!今回は、6.8の新機能の中からPHP5.3対応と、symfonyサポートについてスクリーンショットを交えて解説いたします。なお、実際に確かめた機能だけに触れますので、実際はより沢山の機能がサポートされているはずです。
注)記事中ではNetBeans バージョン6.8のことを省略して6.8と書きます。
PHP 5.3対応
2009年6月にリリースされた5.3はバージョン番号こそ0.1上がっただけですが、名前空間をはじめ多くの機能が追加されました。(特集:PHP 5.3の新機能と変更点|gihyo.jp … 技術評論社で詳しく解説されています)6.8ではその機能に対応しています。以下にその新機能を紹介します。
シンタックスハイライトと追加された関数
PHP 5.3では無名関数やgoto文といった新たな構文が追加されました。それらがエディタで色づけされます。また、追加された関数の補完もできます。
名前空間と補完
PHP5.3 では名前空間がサポートされました。6.8では名前空間を含めて補完機能が働くようになりました。
なお、PHP5.3とそれ以前では、上記のような構文レベルの違いがあるため、プロジェクトのプロパティでPHPのバージョンを指定できるようになっています。異なるバージョンのPHPを使っていても安心ですね!
symfonyサポート
NetBeans 6.8ではsymfonyフレームワークを使ったアプリケーション開発を楽にする機能が初めて組み込まれました。リリースノートに要約が載っていますのでその内容を紹介します。(Symfony Support Screencastでは、symfonyサポートについて動画で紹介されています)
準備
ここで紹介する機能を利用するときは2箇所設定が必要です。まずメニューバーのツール→オプションを選択(MacではNetBeans→環境設定)して、PHPを開きます。一般タブのPHP5インタプリタにphpコマンドへのパスを設定します。次にSymfonyタブのSymfonyスクリプトにsymfonyコマンドへのパスを設定します。設定される場合は次の画面を参考にしてください。(設定されているパスはMacPortsでインストールしたときのものです)以上で設定は終わりです。
プロジェクトの新規作成時にsymfonyプロジェクトの構造を生成
PHPのプロジェクトを新規作成するステップの最後にPHPフレームワークが追加されました。ここで「Symfony PHP Web フレームワーク」を選択すると、symfonyプロジェクトを同時に生成できます。(コンソールでsymfony generate:project [project_name]と実行したのと同じ)また、同時にアプリケーションも生成できます(frontend/backend/その他)
YAMLファイルのシンタックスハイライト+α
symfonyプロジェクトの開発ではYAMLを編集する機会が多いと思いますが、NetBeansは以前からYAMLファイルのハイライトに対応しています。さらに今回のsymfonyサポートでYAMLファイル内に記述されたPHPコードもハイライトされます。YAMLファイル内でPHPコードを記述する例はPractical symfony | 6日目: モデルの詳細の動的なフィクスチャの項目で見ることができます。
symfonyコマンドの実行
通常はコンソールから実行するsymfonyコマンド(アプリケーションの生成、テスト、キャッシュクリア)をNetBeansのメニューから実行できます。実行すると次のように表示されます。
コンソールペイン左上のを押すと同じタスクを再度実行できます。symfony ccなど、何度でも実行できますね。
アクションメソッドとテンプレートの間を行き来する
ビジネスロジックとテンプレートが分かれているフレームワークを使った開発では頻繁にビジネスロジックとテンプレートファイルの間を行き来することになります。symfonyプロジェクト内でその行き来をサポートしています。コンテキストメニュー(右クリックメニュー)から行き来できます。
これはactions.class.phpです。executeIndexメソッドからindexSuccess.phpに移動できます。
こちらはindexSuccess.phpです。同様にexecuteIndexメソッドに移動できます。
テンプレートで自動的に使えるsymfonyのオブジェクトの補完
テンプレートでは最初から$sf_request、$sf_user、$sf_responseといったオブジェクトが利用可能ですが、その補完に対応しています。上の画面ではメソッドの補完ですが、$を打った段階で$sf_userなどの候補は表示されます。
まとめ
NetBeans 6.8で追加されたPHP関連の機能で気になったものを紹介しました。これ以外にもPHPUnitを使ったときのカバレッジがサポートされるなど、いくつかの機能追加があります。NetBeansを使ったことがない方もこのリリースを機会に触ってみてはいかがでしょうか。その際は前バージョンでの新機能の紹介やPDTからNetBeansに移行する3ステップもぜひご覧ください。
参考文献
- NetBeans 公式サイト トップ
- NetBeans 6.8 リリース情報、リリースノートなど
- 特集:PHP 5.3の新機能と変更点|gihyo.jp … 技術評論社
- symfonyフレームワーク
- Symfony Support Screencast symfonyサポートの機能を動画で紹介しています