0

每个人都可以随心所欲地理解 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 请求怎么办?

4

1 回答 1

0

啊,这很容易。只需将整个开关移动到视图文件即可。
与用户交互是视图的责任。

从视图内部重定向也一样好。
无论如何,在大多数框架中,视图文件都会继承$this代表活动控制器的变量。

关于ajax请求也是如此。

于 2012-12-12T14:16:57.130 回答