title: Facades: Non-static method should not be called statically
body: <p>I am created a class and Facade like so:</p>
  
  <p>Invoice.php (Facades/Invoice.php)</p>
  
  <pre><code>&lt;?php
  
  namespace app\Facades\;
  
  use Illuminate\Support\Facades\Facade;
  
  class Invoice extends Facade
  {
     protected static function getFacadeAccessor()
     {
          //NEVER CALLED
          dd("TEST");
  
          return 'invoice';
      }
  }
  ?&gt;
  </code></pre>
  
  <p>InvoiceFacadesServiceProviders.php</p>
  
  <pre><code>&lt;?php
  
  namespace App\Providers;
  
  use App;
  use Illuminate\Support\ServiceProvider;
  
  class InvoiceFacadesServiceProvider extends ServiceProvider
  {
     public function boot()
     {
        //
     }
     public function register()
     {
        App::bind('invoice',function()
        {
           return new \App\Invoice\Invoice;
        });
     }
  }
  ?&gt;
  </code></pre>
  
  <p>And finally the class itself:</p>
  
  <pre><code>&lt;?php
  
  
  namespace App\Invoice;
  
  class Invoice
  {
      public function testfunc()
      {
          return "This is a test";
      }
  }
  ?&gt;
  </code></pre>
  
  <p>In a controller I try to test it by using the class like so:</p>
  
  <pre><code>use App\Invoice\Invoice;
  </code></pre>
  
  <p>And calling the testfunc method:</p>
  
  <pre><code>dd(Invoice::testfunc());
  </code></pre>
  
  <p>In the <code>app.php</code> I have added the following (providers):         <code>App\Providers\InvoiceFacadesServiceProvider::class,</code>
  and (aliases):         <code>'invoice' =&gt; App\Facades\Invoice::class,</code></p>
  
  <p>But I only get:</p>
  
  <pre><code>Non-static method App\Invoice\Invoice::testfunc() should not be called statically.
  </code></pre>
  
  <p>I also notice that the <code>getFacadeAccessor()</code> method never gets fired since it does not hit the <code>dd</code> I have put there.</p>
  
  <p>What am I missing here?</p>
  
  <p>Thanks for any help and guidance!</p>