最近、会社で PHP の Web アプリを作ったんですが、テキストエディタでゴリゴリ書いていくという、結構原始的なことやってたんです。
まぁ WZ Editor の色分け設定変えたんで、それなりに使いやすかったんですが。
でも開発効率を考えたら IDE でやってみたいなと思い始めたわけですよ。
てことでこの連休(休みは月曜までだけど)を利用して、自宅のマシンに Eclipse での PHP の開発環境を整えてみようと思い立ちました。
あー、以前書いた JAVA の件は、仕事の予定が見事にポシャりましたよ。
C++ の方も状況がすげー微妙っぽい。
だもんで、ちょっぴり可能性が高くて復習兼ねての PHP を選択ってことです。
とりあえず、ドキュメントの自動生成、自動テストの実行くらいまでを目標に、2時間程度の間隔でライブ更新してみます。
どこまで続くことやら。
16:00 Eclipse を入手
日本語化を考えると
Pleiades All in One 日本語ディストリビューションが手っ取り早そう。
重いけど、Ultimate パッケージを選んでみる。
18:00 httpd.conf の設定中
デフォルトで xampp\htdocs が DocumentRoot に設定されているが、この下に xampp のサンプルページがあるので、このディレクトリはあまり触りたくない。
かといって xampp サンプルページにアクセスできないのもちと困るので、どうにかして両立できないかと思って httpd.conf とにらめっこしているところ。
20:00 初めての PHP
httpd.conf の Alias を設定して、eclipse のワークスペースをドキュメントルートにしつつ、 http:://localhost/xampp/ で xampp のサンプルページにアクセスできるようにした。
ドキュメントルートに子ディレクトリのリストを表示できるような index.php を設置し、アクセス性を確保することにした。
22:00 やっぱり httpd.conf と格闘
eclipse で PHP のプロジェクトを作ったところで、また httpd.conf の修正に逆戻り。
プロジェクトディレクトリには HTML を納める htdocs の他に、ビジネスロジックやテストコードなどのディレクトリがあるわけで、そんなところにブラウザからアクセスさせるわけに行かない。
とりあえず URL は /~aaa/ の形式にして、プロジェクトディレクトリ下の htdocs に飛ばすことを考えてみた。 UNIX のユーザーディレクトリの考え方と同じ。
しかし私の環境ではユーザーごとに別プロジェクトとしているわけではないので、 UserDir は使えない。
そこで正規表現対応のエイリアスを作成できる AliasMatch 使って、下記のように設定した。
AliasMatch ^/~(\w+)$ "E:/DATA/Work/PHPEclipse/$1/htdocs"
AliasMatch ^/~(\w+)(/.*)$ "E:/DATA/Work/PHPEclipse/$1/htdocs$2"
PHPEclipse が eclipse のワーキングディレクトリで、その下にプロジェクトディレクトリがいくつか並ぶ形。
いずれのプロジェクトでも HTML ディレクトリは htdocs に固定とする。
http://localhost/~aaa/ でアクセスするなら下だけでいいが、/~aaa までだと上の設定も必要。
GET データをちゃんと取れることも確認した。
しかし、 AliasMatch がなかなか思い通りに動いてくれないもんだから余計な時間食っちまったい。
24:00 デバッガを調教中
まずは Eclipse の環境設定。
キーバインドを VisualStudio に合わせたり、コードテンプレートを自分のコーディングスタイルに合わせたりなど。
キーバインド
[ウィンドウ]-[設定] で「設定」ダイアログを開き、[一般]-[キー] の「キースキーム」で "Microsoft Visual Studio" を選択
テキストの色
「設定」ダイアログの [PHP]-[エディター]-[構文の色の指定]
コーディングスタイル
「設定」ダイアログの [PHP]-[コード・スタイル]-[コード・テンプレート]
んで eclipse で適当な index.php を htdocs フォルダに作って、行番号でダブルクリックするとブレークポイントを設定できる。
デバッグ実行するには PHP エクスプローラーの index.php 上で右クリック → [デバッグ]-[PHP Webページ]。
キースキームが "Microsoft Visual Studio" の場合、ステップ実行は F10 だが再開が F8 に設定されていたので使い勝手が少し違った。
また起動 URL のデフォルトを "~" 付きにしたいが、設定方法がわからずはまり込む。
「設定」ダイアログの [PHP]-[PHP サーバー] で [編集] ボタンを押して出てくる「サーバーの編集」ダイアログは微妙に違うっぽいんだよなぁ……。
2:00 DB コントローラークラス作成
先述の URL のデフォルト設定は、結局設定方法がわからなかったので断念。
一度実行すれば URL を覚えていてくれるので、あまり問題にならないと思う。
PHP のまともなコーディングにやっと着手。
とりあえず、ユーザー情報の作成、編集、削除するだけのページを作ってみることにする。
それぞれのページはメールアドレスとパスワードによる認証を通さないと表示されないとして、セッションを使ってページ遷移時に認証情報を受け渡す構造でどうだろう。
てことで、MySQL に読込専用、読み書き両用の二つのユーザーを作成し、ユーザー情報テーブルも作成した。
PHPの方は DB コントローラークラスのスタブを作成したところ。
接続メソッドと切断メソッドだけざくっと作ってみたけど、動くかどうかは知らんw
力尽きたので、しばらく仮眠。