Eclipseでプログラムを開発するには「プロジェクト」が必要だ。
PHPのプロジェクトはPHPソースファイルあるいはPHPアプリケーションを作成するためのコンテナで、プロジェクトは「入れ物」として機能する。
EclipseのPHP開発環境であるPDTの場合も「プロジェクト」を作成するが、EclipseでPHPプロジェクトを作成するときに表示される「新規PHPプロジェクト作成」ダイアログボックスには「ワークスペース内に新規プロジェクトを作成」と「既存ロケーションにプロジェクトを作成(既存ソースから)」という二つのオプションボタンがある。
「ワークスペース内に新規プロジェクトを作成」オプションはワークスペース内に全く新しいプロジェクトを作成するオプションであり、「既存ロケーションにプロジェクトを作成(既存ソースから)」オプションはワークスペースの外部に新しいプロジェクトを作成するオプションである。
これらの機能についてあらためて整理しながらまとめる。
ワークスペース内に新規プロジェクトを作成
ワークスペース内に新しいPHPプロジェクトを作成する際には下記の通り2つのタイプがあるが、ここではそれぞれの作成手順をまとめる。
- ソースコードなど全てを新規作成する
- 既存のソースコードから新規プロジェクトを生成する
ソースコードなど全てを新規作成する
これは現在のワークスペース内に新しくPHPプロジェクトを作成する方法である。
この手順ではワークスペース内にPHPプロジェクト用のディレクトリが作成され、そのディレクトリがPHPプロジェクトとして認識される。
PHPアプリケーション開発を開始する際のオーソドックスな方法だろう。
ワークスペース内に新しいPHPプロジェクトを作成する手順は下記の通り。
- Eclipseのメニューから[ファイル]→[新規]→[PHPプロジェクト]を選択し「新規PHPプロジェクト作成」ダイアログボックスを表示する。
- 「新規PHPプロジェクト作成」ダイアログボックスで[プロジェクト名]テキストボックスにプロジェクト名を指定する。ワークスペース内に既にあるプロジェクト名を指定することは出来ない。
- [ワークスペース内に新規プロジェクトを作成(W)]オプションボタンを選択する。
- 「新規PHPプロジェクト作成」ダイアログボックスの[完了]ボタンをクリックする。
無事にPHPプロジェクトが作成されるとワークスペース内にPHPプロジェクトが生成される。
この時ワークスペースの配下にPHPプロジェクトのディレクトリが自動で作られているはずだ。
ディレクトリの名称は「新規PHPプロジェクト作成」ダイアログボックスの[プロジェクト名]テキストボックスに入力した名称となる。
尚、新規作成されるPHPプロジェクトにはソースファイルは無いのでプログラムを記述するには別途ソースファイルを作成してから行うことになる。
OSのディスクシステム上のロケーションとしては下記のように配置されているはずだ。
¥ワークスペースのディレクトリ¥プロジェクトディレクトリ
既存のソースコードから新規プロジェクトを生成する
この方法ではワークスペース内に配置したソースコードから新しいPHPプロジェクトを作成できる。
既にソースコードがあって、その既存ソースコードを再利用して新しいプロジェクトをワークスペース内に作る場合に使える方法だ。
作成手順は下記の通り。
- ワークスペースのロケーション(ディレクトリ)内にあらかじめソースコードを収めたディレクトリを配置しておく。
- Eclipseのメニューから[ファイル]→[新規]→[PHPプロジェクト]を選択し「新規PHPプロジェクト作成」ダイアログボックスを表示する。
- 「新規PHPプロジェクト作成」ダイアログボックスで[プロジェクト名]テキストボックスにプロジェクト名を指定する。[プロジェクト名]に指定する名称は1の手順で配置したディレクトリ名と同じ名称であること。
- [ワークスペース内に新規プロジェクトを作成(W)]オプションボタンを選択する。
- 「新規PHPプロジェクト作成」ダイアログボックスの[完了]ボタンをクリックする。
あらかじめワークスペース内にディレクトリを用意して、そのディレクトリには既存のソースコードを配置しておくことがポイント。
ワークスペース内に用意されたディレクトリをプロジェクトとして指定された時、Eclipseはそのディレクトリを精査しビルドパスの構成を行うのだ。
「新規PHPプロジェクト作成」ダイアログボックスには
「指定されたロケーションはすでに存在します。プロジェクトがこの場所に作成される場合、ウィザードは既存ソースの検出を自動的に試み、ビルドパスを適切に構成します。」
というアナウンスが表示される。
既存ロケーションにプロジェクトを作成(既存ソースから)
ここでは現在のワークスペースの外に新しくPHPプロジェクトを作成する方法について記述する。
ワークスペースの外という点がポイントになる。
この手順で作成されたPHPプロジェクトは現在のワークスペースのロケーション(OSのディスクシステム上の場所)に縛られないので、ワークスペース外に新しくPHPプロジェクトを作成したいときに使用できる。
またワークスペースの外にプロジェクトを作成する場合も「ソースコードなど全てを新規作成する」パターンと「既存のソースコードを取り込んで新規プロジェクトを作成する」パターンがある。
ソースコードなど全てを新規作成する
これは現在のワークスペース外に新しくPHPプロジェクトを作成する方法である。
- Eclipseのメニューから[ファイル]→[新規]→[PHPプロジェクト]を選択し「新規PHPプロジェクト作成」ダイアログボックスを表示する。
- 「新規PHPプロジェクト作成」ダイアログボックスで[プロジェクト名]テキストボックスにプロジェクト名を指定する。ワークスペース内に既にあるプロジェクト名を指定することは出来ない。
- [既存ロケーションにプロジェクトを作成(X)(既存ソースから)]オプションボタンを選択する。
- [ディレクトリー(D)]テキストボックスにPHPプロジェクトを配置するディレクトリを記述する。尚[ディレクトリー(D)]テキストボックスにはカレントワークスペースのあるディレクトリを指定することは出来ない。
- 「新規PHPプロジェクト作成」ダイアログボックスの[完了]ボタンをクリックする。
[ディレクトリー(D)]テキストボックスに指定したディレクトリにPHPプロジェクトが新しく作成される。
もし「ディレクトリー」テキストボックスに指定したディレクトリが存在しないとき、そのディレクトリは自動的に作成されプロジェクトディレクトリとなる。
既存のソースコードから新規プロジェクトを生成する
これは現在のワークスペース外に配置された既存のソースコードから新しいPHPプロジェクトを作成する方法である。
作成手順は下記の通り。
- あらかじめソースコードを収めたディレクトリを配置する。このディレクトリはカレントワークスペースのディレクトリにあってはならない。
- Eclipseのメニューから[ファイル]→[新規]→[PHPプロジェクト]を選択し「新規PHPプロジェクト作成」ダイアログボックスを表示する。
- 「新規PHPプロジェクト作成」ダイアログボックスで[プロジェクト名]テキストボックスにプロジェクト名を指定する。ワークスペース内に既にあるプロジェクト名を指定することは出来ない。
- [既存ロケーションにプロジェクトを作成(X)(既存ソースから)]オプションボタンを選択する。
- [ディレクトリー(D)]テキストボックスにソースコードを配置したディレクトリを記述する。尚[ディレクトリー(D)]テキストボックスにはカレントワークスペースのあるディレクトリを指定することは出来ない。
- 「新規PHPプロジェクト作成」ダイアログボックスの[完了]ボタンをクリックする。
あらかじめ既存のソースコードをワークスペース外(ワークスペースのディレクトリ以外)に配置しておく必要がある。
既存ロケーションにプロジェクトを作成するときの注意点
「既存ロケーションにプロジェクトを作成」オプションを選択するとカレントのワークスペース内にプロジェクトを配置できない。
カレントのワークスペース内とはワークスペースのロケーション(OSのディスクシステム上の場所)である。
もしカレントワークスペース内にプロジェクトの作成を試みると
「プロジェクト・コンテンツをワークスペースに作成できません。」
というメッセージが表示され[完了]コマンドボタンがアクティブにならない。
また「ワークスペース内に新規プロジェクトを作成」するオプション選択時には[プロジェクト名]テキストボックスに指定したディレクトリがPHPプロジェクトのロケーションとなった。
つまりプロジェクト名とプロジェクトの配置ディレクトリ名は同一ということ。
しかし「既存ロケーションにプロジェクトを作成」オプション選択時は[プロジェクト名]とプロジェクトの配置ディレクトリ名は必ずしも同一とならない。
この「既存ロケーションにプロジェクトを作成」というオプションでは[ディレクトリー]テキストボックスに指定したディレクトリがプロジェクトのルートディレクトリになり、[プロジェクト名]テキストボックスで指定した内容は単純にプロジェクト名称となる。
まとめ
EclipseでPHPプロジェクトを作成する際、特に既存のソースコードを流用して新しいプロジェクトを作成する手順が分かりづらい。
「既存ロケーションにプロジェクトを作成」というオプションが既存のソースコードをプロジェクトに取り込む手段と誤解されるケースもある。
今回あらためてPHPのプロジェクト作成手順についてまとめたが、Eclipseの難解な概念である「ワークスペース」や「プロジェクト」の理解も必要であり難しさに拍車がかかると思う。
プロジェクトの新規作成ダイアログボックスにある下記のオプションはワークスペース内にプロジェクトを作るのか否かを指定する機能だと考えればよいだろう。
- 「ワークスペース内に新規プロジェクトを作成」
- 「既存ロケーションにプロジェクトを作成(既存ソースから)」
付録
環境
pleiades-4.6.2-php-win64(http://mergedoc.osdn.jp/)