V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OMGZui
V2EX  ›  PHP

请问这样的代码可以怎么优化,除了前后端分离,不是来黑 PHP 的

  •  
  •   OMGZui · 2018-03-06 15:45:58 +08:00 · 2182 次点击
    这是一个创建于 2235 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是一个列表页面,也是搜索页面,看的真的难受,这还只是一处条件,可以怎么优化呢?

                <div class="mb10">
                    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>0,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 0) class="label label-success" @endif>全部</a>&nbsp;&nbsp;
                    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>7,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 7) class="label label-success" @endif>旅游</a>&nbsp;&nbsp;
                    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>4,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 4) class="label label-success" @endif>旅游</a>&nbsp;&nbsp;
                    <a href="{{route('product.lines.index',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>5,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 5) class="label label-success" @endif>旅游</a>&nbsp;&nbsp;
                    <a href="{{route('product.lines.index',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>8,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 8) class="label label-success" @endif>旅游</a>&nbsp;&nbsp;
                    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>11,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
                       @if($class_theme_id == 11) class="label label-success" @endif>旅游</a>&nbsp;&nbsp;
                </div>
    
    
    
    5 条回复    2018-03-07 09:08:46 +08:00
    2ME
        1
    2ME  
       2018-03-06 15:53:44 +08:00
    zjsxwc
        2
    zjsxwc  
       2018-03-06 16:08:58 +08:00
    OMGZui
        3
    OMGZui  
    OP
       2018-03-06 16:29:23 +08:00
    @2ME 感谢,我去研究下
    OMGZui
        4
    OMGZui  
    OP
       2018-03-06 16:31:00 +08:00
    @zjsxwc 模板是 Laravel 自带的 blade
    zjsxwc
        5
    zjsxwc  
       2018-03-07 09:08:46 +08:00
    @OMGZui

    看了下文档,blade 也太弱了,好像不支持 macro, 那么试试 @php 里定义的函数能不能用在 blade 里

    ```
    @php
    function is_active($class_theme_id, $active_theme_id) {
    if ($class_theme_id == $active_theme_id) {
    return 'class="label label-success"';
    }
    return '';
    }
    @endphp

    <div class="mb10">
    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>0,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
    {{ is_active($class_theme_id, 0) }} >全部</a>&nbsp;&nbsp;


    <a href="{{route('#',['class_type_id'=>$class_type_id,'class_region_id'=>$class_region_id,'class_theme_id'=>7,'sitecode'=>$sitecode,'deleted'=>$deleted])}}"
    {{ is_active($class_theme_id, 7) }} >旅游</a>&nbsp;&nbsp;
    </div>
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4729 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:36 · PVG 13:36 · LAX 22:36 · JFK 01:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.