title: Laravel back() or redirect() does not work in Traits
body: <p>I've been using Laravel helpers in all my Traits, assuming that helper functions work everywhere.</p>
  
  <p>But while some functions like <code>abort()</code> work, I just realized that <code>return redirect()</code> and <code>return back()</code> do not work!</p>
  
  <p>Could some one please explain why?</p>
  
  <p>After this, I'm a bit hesitant to trust Laravel... I mean what if next time <code>abort(403)</code> doesn't work some where (because I'm not aware of which function works where) and some one does things that they are not allowed to do!</p>
  
  <p>Simplified Example:</p>
  
  <pre><code>namespace App\Http\Traits;
  trait TestTrait{
      public function doBack(){
          return back();
      }
  
      public function doRedirect(){
          return redirect()-&gt;route('test');
      }
  
      public function doAbort(){
          abort(403);
      }
  }
  
  
  use App\Http\Traits\TestTrait;
  class TestController extends Controller{
      use TestTrait;
  
      public function testingBack(){
          $this-&gt;doBack();
      }
  
      public function testingRedirect(){
          $this-&gt;doRedirect();
      }
  
      public function testingAbort(){
          $this-&gt;doAbort();
      }
  }
  </code></pre>
  
  <p>In the sample controller above, <code>testingAbort()</code> method works but <code>testingRedirect()</code> and <code>testingBack()</code> do not! and they shows an empty page instead.</p>
  
  <p>I'm assuming I have to do the redirects in the controller itself (instead of in Traits), but that would cause duplicating a lot of conditional code in controller methods, and I'm also not sure why this is happening.</p>