定期更新ゲームを作りたいなと思いつつ特に何もしていなかったが、
それじゃいつまでたってもダメだとお勉強し始めた。

今回は開発やメンテナンスの手間を減らしたいと考えたので、LaravelというPHPのフレームワークの力を借りることに。

※自分の知識の整理のために書いています。間違っていたら申し訳ないです。

Laravelってなんすか

PHPっていう言語用のフレームワークの1つ、
フレームワークにも色々あるらしいが、その中で言うとMVCフレームワークと呼ばれる物。

MVCフレームワークについて

MVCは以下3要素のこと。
  • Model
  • View
  • Controller

ざっくり言うと、
『URLに応じて、コントローラーが必要な処理をモデルにお願いして、その結果をビューに渡して画面表示してもらう。』
と言うのがMVCフレームワークにおける処理の流れ。

それぞれが独立しているので、どんな情報をやり取りするするかだけ決めておけば、他への影響は出ない。→メンテナンスがラク

各要素の説明

Model
定期ゲで言えば、キャラとか武器とかスキルとか、とにかくシステムで扱われる事象全般のこと。
それぞれ、「名前」とか「能力」とかの情報を持っており、また、「スキルを覚える」とか「攻撃力を計算する」とかの機能を持つ。
後述するコントローラーによって呼び出され、自分の情報を参照・変更される。
View
画面構成など、見た目担当のphpファイル。つまり逆*1を言えば、View以外には見た目に関するコードは書かないほうが良いはず。
見た目担当なので、内容はほとんどHTMLだが、コントローラを通して、モデルから情報を持ってくることも可能。キャラの画像とか能力とか。
Controller
このWikiの様に、URLに拡張子がないサイトを見かけた事があると思う。
https://seesaawiki.jp/prant_uchinoko/

これらは、(全部ではないかもしれないが)、コントローラーが仕事してる証。
コントローラーは、URLをいい感じに読み取って、
「"teikige/chara/profile/12"が呼ばれたら、キャラプロフ用のモデルにNo12のキャラの情報を調べさせて、その情報をもとにビューを呼び出そう」
といった感じに、必要な操作を実現するモデルやビューを呼び出してくれる。

参考

PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
http://www.objective-php.net/basic/index/

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます