"なんちゃって"技術系与太話サイト
2008-05-04
昨日の作業でバックアップの問題が解決したので、バージョン管理システムの導入に踏み切ることにした。Mac OS X 10.5のバージョン管理システムは、今が旬のSubversionである(旬と言うことはEary adapterの目はもっと別の方向へ移り始めているわけで、ごにょごにょ)。つい最近、IDEをEclipse + PDTからNetBeansに切り替えたのだ。PHPには不要な機能がてんこ盛りのEclipseに比べシンプルなUIが気に入った(メニュー項目は1280pxの横幅ぎりぎりいっぱいだが)。動作もEclipseより気持ち軽い(特に起動時)。むろん、このソフトウエアからもSubversionへのコミットができる。
さて、バージョン管理システムの導入に当たって、今までフラットに展開していたソースファイルを整理しなくてはならない。具体的には役割別にフォルダ分けを施す必要があるわけだ。これは、ファイルを探しやすくすると同時に、実戦投入時に設定ファイルなど直接Web公開する必要のないファイルを閲覧者から隠す必要があるからだ。
取り急ぎ、「etc」「lib」「var」「ext_libs」「docs」と階層を分けた。トップ階層に置くPHPファイルはサイトトップページ用の「index.php」と個別ページを表示する「archive.php」にして、MVCで記述された実際の処理用PHPは「lib」以下に納めた。XML処理の要になる「PHP XML Library」は「ext_libs」に入れる。「var」は実際に処理にかけられるXMLファイルを配置。「var/tmpl」に表示用のテンプレートファイルを、「var/data_xml/*」に実際の階層ごとのコンテンツデータを、「var/data_xml/index」にコンテンツデータXMLを管理するXMLファイルを配置する。「etc」は設定ファイル群を配置する。設定をどう動作に反映させるか悩んだが、グローバル変数を使い、配列に格納した設定を取り出して使うことにした。
さて、ディレクトリ配置が決まったところで早速インポート。そして任意のディレクトリにチェックアウトしてみる。あれ? 「project/project」というようにプロジェクト名のフォルダの中にまたプロジェクト名のフォルダができている。「trunk」とかいう名前で落ちてくることを予想していたので意外や意外。取説はしっかり読まないと駄目ですな( ̄△ ̄;。
とはいうものの個人開発なので、branchを作ることはないと思うのでチェックアウトの仕方を工夫、「file:///repositry_dir/project/project」でチェックアウトすればなんとかなる。当面これで行きましょ。