ログ日記

作業ログと日記とメモ

URLと実際のファイルのマッピング

PATH_INFOなどを利用するフレームワークを使った場合、URLとテンプレートファイル名の関連性が薄くなる。
今の環境ではこれが問題になることが多い。
例えば「ログイン後のHTMLを修正したいけどそのファイルはどこ?」と聞かれたり「htmlをアップしたけど反映されないよ?」と言われたりする。


毎回URLとHTMLファイルのマッピングを見てもらうようにするのはいいが、このドキュメントを書くのも手間だし同期されていない可能性がある。


あと最近問題に思うのは、例えば

Manager_SomeContentsManage

というURLであるシステムの管理画面があった場合、PHPのファイル名やクラス名が固定されてしまう。
このSomeContentsManagerのみを他の場所で使いたい場合でも、Manager_という無駄なパスが含まれてしまう。

現状ではアクション転送の設定ファイルで簡単に変更できるものの、それが散在していて管理しにくい。




こういうのをふまえると、URLに対するPHPファイル名、クラス名、テンプレート名、というマッピング情報を自由に(特定の規則に基づかずに、一カ所で)設定できた方がいいんじゃないだろうか。
しかし前に作ったシステムではアクション名に対するテンプレート名をデザイナに設定してもらっていたが、めんどくさそうでミスも多かった。
プログラマにもデザイナにも分かり易い方法はないものか・・。


どうやらDir_Fileアクションに対するテンプレート名がDir/File.htmlになることも直感的でないみたい。
慣れてもらうのが早いか、もっと良い方法を探すべきなのか・・うーむ。



Dir/FileやDir_Fileの最初のDirに対するマッピングを変更できるだけでも便利になるだろうか?
柔軟すぎても分かり難いし、難しい。



# ちょっとした思いつき

あるページを表示したら、URLに対するPHPファイル名、クラス名、HTMLファイル名の一覧を表示する。というコンポーネントを作れば解決するのではないか?動的に生成するのが一番正確だし、アクションの転送やビューの変更など追跡可能だ。システムが完成したらExcelwikiマッピング生成結果を貼り付けるのもいい。


# 思いつき2

機能テストと連携させる。
これはちょっと手間かな。しかし機能テストの網羅性が上がって品質も上がりそう。実装の詳細はまだ思い付かない。