2017-07-10 7 views
0

私は、ユーザーの役割ごとに異なるナビゲーションを表示する必要があるアプリケーションを構築しています。しかし、これは私が異なるユーザーの役割に異なるナビゲーションを表示

ナビゲーション例を思い付いたものです:

<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav navbar-right"> 
     @if (Auth::check() && Auth::user()->role == 'author') 
     <li><a href="{{ url('user/' . Auth::user()->nameslug) }}"><i class="fa fa-user"></i> {{ Auth::user()->name }}</a></li> 
     @endif 

     @if (Auth::check() && Auth::user()->role == 'admin') 
     @if (!empty($page) && $page == 'admin') 
      <li class="active"><a href="{{ url('admin') }}"><i class="fa fa-user"></i> Admin</a></li> 
     @else 
      <li><a href="{{ url('admin') }}"><i class="fa fa-user"></i> Admin</a></li> 
     @endif 
     @endif 

     @if (Auth::check()) 
     <li><a href="{{ url('logout') }}"><i class="fa fa-sign-out"></i> Logout</a></li> 
     @else 
      @if (!empty($page) && $page == 'login') 
      <li class="active"><a href="{{ url('login') }}"><i class="fa fa-sign-in"></i> Login</a></li> 
      @else 
      <li><a href="{{ url('login') }}"><i class="fa fa-sign-in"></i> Login</a></li> 
      @endif 
     @endif 
    </ul> 
</div><!--/.nav-collapse --> 

私はそれをテストしてみたし、それがうまく動作しますが、これはアプリのパフォーマンスに影響する場合、私はちょうど思ったんだけど、それは遅くなる?もしそうなら、これを行う良い方法がありますか?それはすべてありがとう!

+1

あなたの要件によると、大丈夫と思われる。 –

+1

私は同じロジックを使用しています.. Works Perfect .. –

+0

@SagarGautamトラフィックの多いウェブサイトでもですか? –

答えて

1

これはアプリケーションの速度に影響しません。少数のif/elseブロックはあまり変更されません。このユーザーの役割はすべてのページにロードされますが、これはおそらく非常に軽いクエリであり、Laravelはスマートなので、1回のリクエストでこのクエリを実行するだけです。

結論:これはうまく見えます。 :)

+1

それでは、交通量の多いウェブサイトの場合でも、それはうまくいきますか? –

+0

私はパフォーマンスに関して大きな問題になるでしょう。 –

+0

はい、このコードは交通量の多いウェブサイトでは問題ありません。 – Jerodev

関連する問題