とりあえず動くという事:続き
- CakePHPに関して今日一つ壁が超えられたのでメモ
- 何かおかしい、何かおかしい、と思いながらも1週間も試行錯誤してしまっていました。
- 先週は同じところを行ったり来たりで土日潰して勉強したけど、月曜日も全く状況が変わらず流石に焦った。
- 月曜の夜にリーダーと少し話をして、問題点の指摘と新方針をもらって、今日その方法でやり直したらスルッと進んでしまったのでした。
- 何がいけなかったのかというと「設定より規則」の概念との付き合い方が悪かったというか。
- CakePHPは「設定より規則」のルールで設計されているので、データの閲覧、登録、編集、削除だけ出来ればいいというのなら、データベースのテーブルの名前を規則に則って付けてあげると、ほとんどプログラムせずにWEBサイトが出来てしまいます。
- ここまで簡単にするには1データ、1モデル、1コントローラ、1ビュー、1画面(ちょっと違いますが)になりますが。
- ですが、それだと通り一遍のものしかできないので、ある程度は原理原則を離れて自分独自のことをする訳です。
- それで、自分がはまってしまったのは、どこから独自ルールで行くべきか、という見極めを間違えてたからでした。
- BAKEが大変便利なんで、自分は最初欲しい画面の数だけモデルを作って、コントローラとビューは自動生成してそのあといじる、というスタイルにしてました。
- そうしたら、それらビューやコントローラからデータを参照しようとしたら参照方法が複雑になってしまって、CakePHP初心者としてはろくにログインログアウトすら作れずお手上げになってしまいました。
- 挙句の果てに独自ログインログアウト処理を作ってしまい、そうじゃないから、と呆れられた。
- そうしたら、それらビューやコントローラからデータを参照しようとしたら参照方法が複雑になってしまって、CakePHP初心者としてはろくにログインログアウトすら作れずお手上げになってしまいました。
- 昨日指示してもらったのは、モデルまでは1対1で作って、コントローラから欲しい画面の数だけ作る、という方針。
- コントローラから任意のモデルを参照出来て複数参照も可能、ということはリーダーから聞いていたので、よもや、自分が画面ごとにモデル作っているとはリーダーも思っていなかったらしい。
- 自分はその話を聞いて、その話の流れで出た、モデルも任意のデータを参照可能、ってところだけ拾い上げていたんですね。
- こっちは段々焦ってきているので、とにかく動くものをそろえたいと思って、動作が保証されているBAKEで出来る限り自動化してページを作りたいもんだから、独自ルールでモデルを作ってしまった訳です。
- そうして仕様に合わないページを量産して、仕様に合わせようとしてドツボにハマる、という。
- 今日は方針を変えたので、いくつか想定されているユーザーグループのうち、一番簡単なページ構成のものを仕様通りに作ることにまず専念しました。
- 新方針で作業進めたら、ログインログアウトは元より、前に面倒くさくて放置していたところもさくっと出来てしまった。
- コントローラから任意のモデルを参照出来て複数参照も可能、ということはリーダーから聞いていたので、よもや、自分が画面ごとにモデル作っているとはリーダーも思っていなかったらしい。
- BAKEが大変便利なんで、自分は最初欲しい画面の数だけモデルを作って、コントローラとビューは自動生成してそのあといじる、というスタイルにしてました。
- 結論言うと学んだのは「設定より規則」の方針で作られたフレームワークなら、下の層ほど規則に則って作った方が良いって事でした。
- 仕方なく独自改造するなら、出来るギリギリまで上の層で済ませるべき。
- かなり下の層で独自にやるなら、そこから上を規則に則るにしてもそのフレームワーク使わない方が良いかも。