title: Laravel Controller's constructor doesn't run
body: <p>I have a Laravel web app, in which I have a "parent" controller for each of my other controllers. I built the logic this way because the database was powered by an online SOAP service.</p>
  
  <p>My parent controller's constructor looks like this:</p>
  
  <pre><code>&lt;?php
  namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use Illuminate\Support\Facades\Lang;
  use SoapClient;
  use Session;
  
  class SoapCtrl extends Controller
  {
      public $client;
      public function __construct(Request $request) {
          // SoapClient
          $wsdl = '******';
          $args = [
              'trace' =&gt; true,
              'exceptions' =&gt; true,
              'soap_version' =&gt; SOAP_1_2,
              'cache_wsdl' =&gt; WSDL_CACHE_NONE,
          ];
          $this-&gt;client = new SoapClient($wsdl, $args);
      }
  }
  </code></pre>
  
  <p>And I have a lot of other controllers extending this SoapCtrl, for example this one:</p>
  
  <pre><code>&lt;?php
  namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use Illuminate\Support\Facades\Lang;
  use SoapClient;
  use Session;
  
  class MagistralCtrl extends SoapCtrl {
  
      public function __construct(Request $request) {
          parent::__construct($request);
          if(!parent::loggedin()) {
              return '';
          }
          if(!parent::have_right('magisztralis')) {
              return view('nopermission', $this-&gt;args);
          }
      }
  }
  </code></pre>
  
  <p>They can all use <code>$this-&gt;client-&gt;anySoapMethod</code> in functions for the views, so it looks like <code>client</code> was inherited and works. But the <code>__construct</code> function don't run. I tried it with <code>die('hello')</code>, still, nothing happened. My constructor in the extension controller just doesn't work.</p>
  
  <p>Please help, what am I doing wrong?</p>