PHPのMVCモデルを理解するためにしたこと
- プログラム
- date 2012.07.02 tag 未設定
目次
1. 概念の勉強
まずはMVCとはどんなものなのか、ということを数日間みっちりと勉強。できるだけ初心者向けの記事や本を読んで、モデルとビューの役割は理解。でもこの時点で、コントローラーの役割は良くわかってなかったっす。
- MVCモデルの概念を漫画で解説してみる | hijiriworld Web
- PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
- 軽量なMVCフレームワークの自作(改訂版):CodeZine (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にも触れようと思ってます。頑張りましょう!