さて、PCサイトが完成、もしくはある程度できた時点で、これまで作ったモジュールをうまく利用しながら携帯サイトをチャチャっと作ろう、という段取りはそんなにめずらしくないと思う。
その場合に行った以下2つの作業のメモ。
1.モジュールの構成を変更する。
2.携帯サイトの文字コードをShift_jisにする。
その場合に行った以下2つの作業のメモ。
1.モジュールの構成を変更する。
2.携帯サイトの文字コードをShift_jisにする。
ということで、1のモジュール構成の変更を行う。目的としては、mobileはPCのロジックをできるだけ使いまわしたいけど、controllerとかセッション管理廻りとか携帯とPCで明らかに違うところは分けて管理したい。という要求に対応するため。
Before
APP_ROOT
|
|-controllers
|-models
|-views
After
APP_ROOT
|
|-modules
|-common
|-pc
|-mobiles
|-controllers
|-models
という風に、modules/xxxの2階層を間に入れる。
xxx/の下には、それぞれcontrollers、models、viewsを配置する。やっぱcommonの下のcontrollersは要らないかな。
Beforeのcontrollersにあったものは、全部pc/controllersの下に移動させる。
viewに関しては、pluginsはcommon/viewsの下に、残りはpc/viewsの下に移動させる。
modelsに関しては、適宜振り分ける。つーか、全部適宜。上述のは、たぶんこんな感じじゃねーかなーってくらいの。
例えばZend_Db_Table_Abstractを継承した何クラスっていうんだ?DAO?みたいなやつは、PCも携帯も同じの使うだろうからcommonの下に配置するようになると思うんだ。そんなノリで。
で、次はindex.phpを書き換える
前にsmartyを導入したときのものとの差分としては、viewテンプレートへのパスとか、パス関係を書き換える。
で、後はいろんなところの特にrequre_onceとかのパスがずれることになるので、実行しながら書き直していく。
規模によるけど、たぶん20分もかからないでできるよ。
で、PCサイトモジュールの構成変更はPCサイトが元の通り動くのを確認して終わり。
ここまで大幅に動かすと、もしかしたらSVNへのコミットが大変かもしれないけど、そこはがんばる。
携帯用のindex.phpを作るところから文字コード対応までは次回に持ち越すことにしました。
コメントする