MVC(model-view-controller)についてです。
僕が若手PHPerだった2006年頃、「MVCって知ってる?」と聞かれ、
「MVC? あぁ、モジュール、ビュー、コントロール ですよね♪」
(惜しい!)
って感じでよく分かっていませんでした。
この頃はPHP4→5への移行が始まり、クラスやオブジェクト指向の学習が必要になってきた時期でもありました。
modelとcontrollerは、今でも理解できてるのか微妙ですが、
とりあえず、controller開発者がmodelの中身を見ずにメソッドを扱える事が条件(方針)だと思っています。
(現実、仕事だと役割分担がmodel開発者とcontroller開発者で分けられていない為、この方針を忘れる事は良くありますが←)
さて、本題のメソッド名です。
めんどくさがりな僕はコメントを書くのが嫌いなので、
メソッド名で全てを語ろうと命名規則を思考中です。
例えば、こんな感じのルール
{戻り値の型}{データタイプ}{テーブル名}{取得方法}
例:
->aTable_User_all(['id'=1]);
model開発者は規則通りの名前でメソッドを作り、
controller開発者は規則通りのメソッド名を呼び出すだけで良く、いちいちmodelから欲しいメソッドを探す必要がなくなると思います。
このような命名規則で、Create,Read,Update,Deleteのメソッドを作っておくのは当然として、
CRUD以外のイレギュラーなメソッドの呼び出しをmodelの中身を知らない人が出来るのか?という壁にぶち当たります。
イレギュラーな処理はcontrollerに書くしかないのか…
そのまえに、CRUDに関してはORM使えばメソッドなんて作る必要ないような…
う~ん… 何が正解かわからなくなってきた。
何か良い命名規則や開発手法がありましたらご教授ください。