Dietcube を試すの続きを。
/
├ app/
│ ├ Controller/
│ │ └ HelloController.php
│ ├ config/
│ │ └ config.php
│ ├ Service/
│ │ └ SampleService.php
│ ├ template/
│ │ └ hello
│ │ └ index.html.twig
│ ├ Application.php
│ └ Route.php
├ tmp
└ webroot
└ index.php
ディレクトリ階層は上述のような構造。中身を見ると
Controller
以下: そのままCService
以下: ビジネスロジック的な処理、当てはめるならばMの部分が多いのではtemplate
以下: twigのテンプレート。V
MVCに当てはめるならばこんな感じでしょうか。
それから、
Application.php
でuse
を使って名前空間指定$container['SERVICE_NAME']
の中でService
の中で定義したクラスのインスタンス生成して戻り値に指定Controller
の中で$this->get('SERVICE_NAME')
してインスタンスを取得、処理実行
とすることで一連の処理ができる、という感じに見受けられます。しかもこれはCの部分で
new
せずに共通の
Application.php
で
new
したものを使えるのでDIですよね。
参考