每个人都可以随心所欲地理解 mvc,但有时我根本不理解。
目前我的大多数控制器看起来像这样:
<?php
$input = $_REQUEST['field']
$model = new Model();
$status = $model->launchSpaceShuttle($input);
switch($status)
{
case Model::STATUS_LAUNCHED:
header('Location: Mars');
break;
case Model::STATUS_INVALID_INPUT:
echo "Please press the big red button correctly";
break;
case Model::STATUS_PILOT_IN_HANGOVER:
...
...
case etc.
}
这就引出了一个明显的问题:
这就是它应该的样子吗?模型返回的状态码和控制器决定如何显示和显示什么?
因为这与作为输入设备和模型之间非常薄的包装器的简单、短控制器的理论非常冲突。
奖励案例:如果我懒得创建视图,ajax 请求怎么办?