PHPのMVCモデルを理解するためにしたこと

プログラム
date 2012.07.02 tag 未設定
こんばんは。フレームワークとかでよくMVCモデルって見聞きしませんか。ある程度の規模になるプログラムはMVCモデルで設計するのが良いらしいのですが、この概念がとっても分かりづらい。今回のエントリーでは僕がMVCモデルを習得するために行ったこと・行っていることを書いてみます。

1. 概念の勉強

まずはMVCとはどんなものなのか、ということを数日間みっちりと勉強。できるだけ初心者向けの記事や本を読んで、モデルとビューの役割は理解。でもこの時点で、コントローラーの役割は良くわかってなかったっす。

ちなみにMVCの勉強しようとするならオブジェクト指向をしっかり勉強しとく、これはお約束です!後でつまずかないように簡単なクラスを作成したり、インスタンを作成できる程度まで慣れときましょう。

2. 実践:単純なMVCモデルの作成を試行錯誤

もうMVCの解説記事を探すの疲れた…と思ったところで実際にサンプルを作成していきました。とは言ったものの、最初は何をすればいいのか分からず途方に暮れてましたが…。そんなときに僕にも分かりやすいサンプルコードを掲載しているエントリーを発見!

もうね、RedLine Magazineさんのこのエントリー、マジで神でした。コントローラで画面を描写するという感覚がやっと掴めてきました。それで、苦労はしましたがこのような簡易MVCモデルを組み立てられるようになりました。

Model : 計算処理を行う Model.php

[php]
class Model
{
function calc($arg1, $arg2)
{
$sum = $arg1 + $arg2;
return $sum;
}
}
[/php]

View : 計算結果の表示処理を行う View.php

[php]
class View
{
function show($sum)
{
echo $sum;
}
}
[/php]

Controller : モデルとビューを呼び出して画面に表示する index.php

[php]
require_once ‘Model.php’;
require_once ‘View.php’;

$model = new Model();
$sum = $model->calc(1, 2);

$view = new View();
$view->show($sum);
[/php]

まあ、こんな感じにindex.phpにアクセスすると計算結果が表示される訳です。コントローラーがモデルに計算をしてもらって、その結果をビューに渡して表示するというところです。余談ですが、ここまで来るのに会社の研修で3週間はかかった(´Д⊂

3. フレームワークを触ってみる/作ってみる

小規模なMVCモデルのプログラムをかけたら、さらに実践あるのみ!ということで書籍を元にフレームワークを作って、それを元に簡単なシステムを作成してます。習うより慣れろってヤツですね。僕もいま作成してます。ちなみに「パーフェクトPHP」という個人的に良書と思っている本を丸写ししてますw

修行の道はまだまだですが、頑張ってさらにMVCモデルを理解して行きたいと思います。今後はMVCフレームワークであるCakePHPにも触れようと思ってます。頑張りましょう!