eclipsePDTはじめました

最近PHPを始めたのですが、IDEを使って開発している人が身の回りに意外と少ない…
話を聞いてみると環境構築が面倒だったり、機能が多すぎて何が何だかわからないという人が多かったです。
なので、自分用のまとめも兼ねてeclipsePDTの環境構築を少し細かめに紹介していきます。

環境

OS: WindowsXP/7(32bit)
PHP: 5.2.14
PHPApacheのインストール、php.ini、httpd.confの設定は既に終わっているものとします。

PDT2.1

http://www.eclipse.org/pdt/downloads/
公式サイトからPDT2.1をダウンロードします。

PDT 2.1 SR-2 All In Ones / Eclipse PHP Package
All-In-One Windows 32-bit

現時点での最新版は PDT2.2 なのですが、安定性に不安があるため PDT2.1 をダウンロードしました。

解凍したフォルダの中にeclipseフォルダがあるので、好きな名前に変更して好きな場所に置きます。
ここでは"PDT2.1"という名前に変更して C:\ 直下に置いたことにします。

ちなみに僕は英語版をよくオススメしています。
その理由の1つは日本語版に比べて各種フィルタリングが便利だからです。
ただし、初めての方は日本語版でまずはeclipse自体に慣れるのも良いかもしれません。

eclipseのVMに割り当てるヒープメモリのサイズ変更

eclipseはメモリをよく食う+安定性重視でメモリを多めに割り当ててあげます。
C:\PDT2.1\eclipse.ini の最後の行の"-Xmx256m"を"-Xmx1024m"に変更します。
(PCのスペックと相談)

スプラッシュ画像の変更

C:\PDT2.1\plugins\org.eclipse.platform_3.3.202.v201002111343
上記フォルダ下にある "splash.bmp" をeclipseたんの画像にします。
参考)"eclipseたんスプラッシュ画像" by id:trazuka http://d.hatena.ne.jp/torazuka/20100104/splash

eclipse起動 - ワークスペース?

eclipse.exe を起動すると最初に workspace を選ぶダイアログが出てきます。
workspace は複数の"eclipseプロジェクト"を管理する作業場です。
好きな場所にworkspace用のフォルダを作って設定したらOKボタンを押します。
f:id:noire722:20101020033450p:image

eclipseを起動すると、たくさんの項目に圧倒されて面倒臭そうと思うかもしれません。
環境構築の段階では以下の2つだけ覚えておけば大丈夫です。

  • [Window]-[Preferences] 全般的な設定
  • [Help]-[Install New Software...] プラグインの追加

f:id:noire722:20101020034620p:image

Preferences - 各種設定

[Window]-[Preferences] からPreferencesダイアログを開きます。

1)文字コードの設定

一番左上の検索窓に"encoding"と入力してみましょう。
f:id:noire722:20101020034808p:image

すると全ての設定項目の中からencodingの設定を含む項目だけが抽出されます。
[General]-[Workspace]の項目の中のText file encoding を下図のようにUTF-8に変更します。
f:id:noire722:20101020034809p:image

設定が終わったらOKボタンを押して閉じましょう。
これで、このworkspaceで扱うテキストファイルの文字コードの設定がUTF-8になりました。

2)php.exeのパスの設定

[PHP]-[PHP Excutables] で 「Add」ボタンを押します。
f:id:noire722:20101020035211p:image


ここではPHPUnitを使う前提なためdebuggerはXDebugを選択しています。
f:id:noire722:20101020035212p:image

3)インデントの設定

[PHP]-[Formatter]でインデントの設定をします。
f:id:noire722:20101020035213p:image
コーディング規約や宗教によって設定。

4)XDebugのインストール

デバッガにXDebugを使う場合、DLLのインストールが必要です。
http://xdebug.org/download.php
上記サイトから自分のPHPのバージョンにあったものをダウンロードします。
ここでは"5.2 VC6 (32 bit)"をダウンロードしました。
ダウンロードしたDLLの名前を"php_xdebug.dll"に変更してをext下に置き、php.iniに下記設定を追記します。
※remote_logのパスは任意の場所で。

[xdebug]
zend_extension_ts = ".\ext\php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_log=".\logs\xdebug.log"
xdebug.manual_url = http://jp2.php.net
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *

次にeclipseのPreferencesを開き、
[PHP]-[Debug] で下図のようにデバッガの設定を行ないます。
f:id:noire722:20101020035718p:image

とりあえずいくつか最低限の設定をしてみました。
ある程度自分好みの初期設定を終えたら、自分用のeclipseとしてフォルダごとzipで固めとくと後々便利かもしれません。
別のPCでeclipseを導入したい時や、仕事のプロジェクトによってeclipseを使い分けたい時などに使い回すと便利です。

ショートカット

最低限覚えておきたいショートカット一覧
一度やってみることをおすすめします。

Ctrl+S 上書き保存
Ctrl+Space コンテンツアシスト(各種補完)
Ctrl+D 一行削除
Ctrl+/ 一行or選択範囲をコメントアウト・イン
Alt+↑↓ 選択範囲のコードを移動
Alt+←→ 操作のUndo、Redo
Ctrl+Shift+F コード整形
Ctrl+F ファイル内検索・置換
Ctrl+J インクリメンタル検索
F3 変数などの宣言場所へ移動
Alt+Shift+R 変数名などのリネーム

他にもたくさんあるのですがとりあえずこれだけ紹介しました。
webでショートカットを調べるときにJavaでは利くけど、PHPでは利かないショートカットがたくさんあるので注意してください。

eclipse上でPHPスクリプトを実行してみる

新規プロジェクト作成

PHP Explorer の空いてる場所で右クリックする。
[New]-[PHP Project] を選択。
f:id:noire722:20101020035948p:image


Project name はお好みで。
f:id:noire722:20101020035949p:image

プロジェクト名を入力したら Finish ボタンを押す。
すると、PHP Explorer に新規プロジェクトが作成されます。

PHPファイル作成

プロジェクトを右クリックしてメニューから[New] - [PHP File]を選択。
f:id:noire722:20101020035950p:image


File Name はお好みで。
f:id:noire722:20101020035951p:image


試しにphpinfo()を実行してみます。
右クリックメニューから[Run As]-[PHP Script]を選択
f:id:noire722:20101020040904p:image


Consoleタブに実行結果が表示されました。
f:id:noire722:20101020040905p:image

長くなったので

SVNプラグインやPHPUnitについては別の記事にまとめます。

あと、インストールと設定がメインだったのでwebアプリとしてコードを実行する際の設定を省いちゃったのですが……やればわかると思います!!
ワークスペースをApacheのhtdocs下に作りたいときは[File]-[Switch Workspace]-[Other...]で新しく作って切り替えちゃいましょう。

eclipseハッカー

id:Yamashiro0217さんの記事が大変勉強になります。


Javaプログラマ向けの記事ですが、便利ショートカットなどが紹介されていてeclipsePDTでも一部使うことが出来ます。

"全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜"
http://d.hatena.ne.jp/Yamashiro0217/20090616/1245121197

Code Templates の話。

"PDTでsetter/getterを作るtemplate"
http://d.hatena.ne.jp/Yamashiro0217/20101019/1287477033