LoginSignup
4
9

More than 5 years have passed since last update.

PHPフレームワークごとのMVC構成

Last updated at Posted at 2017-09-16

既存のWEBプロジェクトに放り込まれてメンテナンスするとき、
まずソースコードを追っていくわけですが、どこを取っかかりにしようかというお話。

*PHP前提で。

コントローラーから

大抵は何かしらのフレームワークを使っていると思うので、
MVC (*Model-View-Controller) の「コントローラー」から追っていきます。
URLがコントローラーを指すので、実際の画面から追っていきやすいかと。

以下、自分が当たったことのあるフレームワークのディレクトリ構造を簡単に。

CakePHP

2.x

CakePHP 2.x クックブック

[コントローラー]
app/Controller/XxxController.php
[モデル]
app/Model/Xxx.php
[ビュー]
app/View/Xxx/Xxx.ctp

3.x

CakPHP 3.x クックブック

[コントローラー]
src/Controller/XxxController.php
[モデル] ※2017/12/03訂正
src/Model/Entity/Xxx.php
src/Model/Table/XxxTable.php
[ビュー]
src/Template/Xxx/Xxx.ctp

Laravel

Laravel 5.5 日本語ドキュメント

[コントローラー]
app/Http/Controller/XxxController.php
[モデル]
app/Xxx.php
[ビュー]
resources/views/xxx.blade.php

CodeIgniter

CodeIgniter 3.x ユーザーガイド

[コントローラー]
application/controllers/Xxx.php
[モデル]
application/models/Xxx.php
[ビュー]
application/views/xxx.php

Phalcon

Phalcon 3.x Documantation

[コントローラー]
app/controllers/XxxController.php
[モデル]
app/models/Xxx.php
[ビュー]
app/views/xxx.phtml

オレオレFW

必ずMVCのディレクトリ構成があるはず!

MVC? なにそれ?

まさかのベタphpであれば、URL=ファイル名なので逆に分かりやすいかも?
メンテナンスするのは不幸ですが…。

おわりに

あくまで取っかかりということで。
FWで提供している機能や規約はそれぞれ色々あるので、この辺から追っていって
どんどん深掘りしていけるといいですね。

4
9
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9