在Laravel中,我应该在视图文件中创建不同的视图文件还是添加switch case?

时间:2017-03-14 07:12:16

标签: php laravel-5 laravel-blade

我必须在视图中显示帖子列表。控制器查询帖子中的函数并将其发送到视图。诸如drafts(),pending(),published()等函数将查询帖子的相关状态。

除了每个帖子旁边的页面标题和按钮之外,所有视图布局几乎都是相同的。

所以我的困惑是,我应该制作个人视图文件,如drafts.blade.php,pending.blade.php,published.blade.php等,并且逻辑少于静态按钮&页面标题 要么 而是使用一个单独的视图,如posts-list.blade.php,并使用switch case或其他东西根据帖子的状态调出按钮和标题。

谢谢,

=======

更新

我添加了serviceprovider来扩展刀片功能。现在我可以在视图中使用@switch($var), @case(1), @break等。

1 个答案:

答案 0 :(得分:0)

实际上没有什么是完全正确或错误的。如果你喜欢你的话,我会问自己这些需要的观点有多么不同,如果有很多不同之处我会将它们分开,如果不是,我只会用贝司参数制作一个视图。 。像:

帖-list.blade.php

<h1>{{ $title }}</h1>
@if( $pageType == 'draft' )
    // show button1
@elseif( $pageType == 'pending')
    // show button2
@elseif( $pageType == 'published')
    // show button3
@else
    // default
@endif

在调用它时我只会使用return view('posts-list.blade.php', ['title ' => 'Awesome page', 'pageType' => 'pending']); 再次,这取决于差异的复杂程度。