Model view controller MVC-我可以在视图中执行ifs吗

Model view controller MVC-我可以在视图中执行ifs吗,model-view-controller,Model View Controller,我对编程非常陌生,我有一个关于MVC模式的简单问题。我开始学习Laravel,它有视图、控制器和模型 我的问题是:如果s在我的视图中是这样的,我能拥有吗 星期几 我的中有几个,看起来有点难看,特别是当我向条件Input::has('group')&&&……添加额外语句时 我是否应该在控制器中使用其选项构建选择,因为我在那里有相同的数据,并执行所有检查,然后让视图渲染选定和非选定选项 PS:我知道我可以,但是应该我吗?你可以像下面这样做 <select> @foreac

我对编程非常陌生,我有一个关于MVC模式的简单问题。我开始学习Laravel,它有视图、控制器和模型

我的问题是:如果s在我的视图中是这样的,我能拥有

星期几

我的
中有几个
,看起来有点难看,特别是当我向条件
Input::has('group')&&&……
添加额外语句时

我是否应该在控制器中使用其选项构建选择,因为我在那里有相同的数据,并执行所有检查,然后让视图渲染选定和非选定选项

PS:我知道我可以,但是应该我吗?

你可以像下面这样做

<select>
        @foreach ($dropItems as $item)
            {{-- */ 
                $selected = '';
                if ( Input::has('group') && Input::get('group') == $item) {
                    $selected = 'selected';
                }
             /* --}}
             <option value="dayofweek" {{ $selected }}>Day Of week </option>
        @endforeach
    </select>
你可以像下面这样做

<select>
        @foreach ($dropItems as $item)
            {{-- */ 
                $selected = '';
                if ( Input::has('group') && Input::get('group') == $item) {
                    $selected = 'selected';
                }
             /* --}}
             <option value="dayofweek" {{ $selected }}>Day Of week </option>
        @endforeach
    </select>

问题是,您的控制器驻留在哪里?你在做服务器端编程吗?然后控制器和模型驻留在服务器上

如果您正在进行客户端编程,那么这三个层都位于浏览器HTML/CSS(视图)、Javascript(控制器和模型)中

如果是后者,则应清除HTML:

<option value="dayofweek">Day Of week </option>

(很抱歉,javascript可能是错的……但你明白了。)

问题是,你的控制器驻留在哪里?你在做服务器端编程吗?然后控制器和模型驻留在服务器上

如果您正在进行客户端编程,那么这三个层都位于浏览器HTML/CSS(视图)、Javascript(控制器和模型)中

如果是后者,则应清除HTML:

<option value="dayofweek">Day Of week </option>

(很抱歉,javascript可能是错的……但你明白了。)

是的,如果视图中有
语句,你可以执行
。不这样做是疯狂的,因为这意味着你的观点将完全是静态的,这是非常不切实际的


然而,让这些语句依赖于
输入之类的东西可能是个坏主意。您的视图应该更加解耦。假设您将在几个不同的场景中使用特定的视图;换句话说,许多不同的控制器可能希望渲染相同的视图。无法保证在这些场景中的每一个场景都使用了
输入
,或者该输入被专门称为什么。控制器应处理直接输入,视图应接收控制器设置的变量,如
$currentGroup
。您希望在输入和输出之间进行一些隔离,而不是立即将它们连接在一起,以提高可重用性和灵活性。

是的,如果视图中有
语句,您可以执行
。不这样做是疯狂的,因为这意味着你的观点将完全是静态的,这是非常不切实际的


然而,让这些语句依赖于
输入之类的东西可能是个坏主意。您的视图应该更加解耦。假设您将在几个不同的场景中使用特定的视图;换句话说,许多不同的控制器可能希望渲染相同的视图。无法保证在这些场景中的每一个场景都使用了
输入
,或者该输入被专门称为什么。控制器应处理直接输入,视图应接收控制器设置的变量,如
$currentGroup
。您希望在输入和输出之间进行一些隔离,而不是立即将它们连接在一起以提高可重用性和灵活性。

可能我应该提到Laravel,并且应该在不指定语言/框架的情况下提出我的问题。我不会问我怎么做。我要问的是,我应该在控制器中还是在视图中执行此操作?:)我在一些教程中看到了这两种方法。我想知道什么是最佳实践。谢谢。也许我应该提到Laravel,我应该在没有说明语言/框架的情况下问我的问题。我不会问我怎么做。我要问的是,我应该在控制器中还是在视图中执行此操作?:)我在一些教程中看到了这两种方法。我想知道什么是最佳实践。谢谢