Is it possible to inject an interface into Laravels Kernel.php?
<p>I am currently refactoring my Laravel 5 project in order to make use of the <a href="http://heera.it/laravel-repository-pattern#.V1GtWfl97IV" rel="nofollow">Repository Design Pattern</a>. </p>

<p>I have a created repository interface and a repository class:</p>

<pre><code>interface UserRepositoryInterface {
    [...]
}

class UserRepository implements UserRepositoryInterface
{
   [...]
}
</code></pre>

<p>then added the necessary binding in the service provider class:</p>

<pre><code>App::bind('App\Repositories\UserRepositoryInterface','App\Repositories\UserRepository');
</code></pre>

<p>and the injected the interface into the controller constructor:</p>

<pre><code>class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct(UserRepositoryInterface $userRepository)
    {
        $this-&gt;userRepository = $userRepository;
    }
}
</code></pre>

<p>This part works fine. The problem is that I need to use some of the repository methods in the <strong>app\Console\Kernel.php</strong> class, where I implemented some scheduled tasks. I tried injecting the Kernel constructor in a similar fashion:</p>

<pre><code>/**
 * Create a new console kernel instance.
 */
public function __construct(Application $app, Dispatcher $events, UserRepositoryInterface $userRepository)
{
    parent::__construct($app, $events);

    $this-&gt;userRepository = $userRepository;
}
</code></pre>

<p>However, this approach does not work (e.g. running 'php artisan tinker' in the Terminal fails). I get the following error:</p>

<blockquote>
  <p>PHP Fatal error:  Uncaught
  Illuminate\Contracts\Container\BindingResolutionException: Target
  [App\Repositories\UserRepositoryInterface] is not instantiable while
  building [App\Console\Kernel]. in D:\xampp\htdocs\budget-and-expe
  nse-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
  Stack trace:</p>
  
  <h1>0 D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php(633):</h1>
  
  <p>Illuminate\Container\Container->build('App\Repositorie...', Array)</p>
  
  <h1>1 D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(697):</h1>
  
  <p>Illuminate\Container\Container->make('App\Repositorie...', Array)</p>
  
  <h1>2 D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php(853):</h1>
  
  <p>Illuminate\Foundation\Application->make('App\Repositorie...')</p>
  
  <h1>3 D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php(808):</h1>
  
  <p>Illuminate\C in
  D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illum
  inate\Container\Container.php on line 752</p>
  
  <p>Fatal error: Uncaught
  Illuminate\Contracts\Container\BindingResolutionException: Target
  [App\Repositories\UserRepositoryInterface] is not instantiable while
  building [App\Console\Kernel]. in D:\xampp\htdocs\budget-and-expense-m
  anagement\local\vendor\laravel\framework\src\Illuminate\Container\Container.php
  on line 752</p>
  
  <p>Illuminate\Contracts\Container\BindingResolutionException: Target
  [App\Repositories\UserRepositoryInterface] is not instantiable while
  building [App\Console\Kernel]. in
  D:\xampp\htdocs\budget-and-expense-management\local\vendor
  \laravel\framework\src\Illuminate\Container\Container.php on line 752</p>
  
  <p>Call Stack:
      0.0006     345568   1. {main}() D:\xampp\htdocs\budget-and-expense-management\local\artisan:0
      0.0365    1417504   2. Illuminate\Foundation\Application->make() D:\xampp\htdocs\budget-and-expense-management\local\artisan:31
      0.0365    1417552   3. Illuminate\Container\Container->make() D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:697
      0.0367    1417552   4. Illuminate\Container\Container->build() D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:633
      0.0367    1417552   5. Illuminate\Container\Container->Illuminate\Container{closure}()
  D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:735
      0.0367    1417576   6. Illuminate\Foundation\Application->make() D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:230
      0.0367    1417576   7. Illuminate\Container\Container->make() D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:697
      0.0368    1417576   8. Illuminate\Container\Container->build() D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:633
      0.0388    1453584   9. Illuminate\Container\Container->getDependencies()
  D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:777
      0.0397    1456432  10. Illuminate\Container\Container->resolveClass()
  D:\xampp\htdocs\budget-and-expense-management\local\vendor\laravel\framework\src\Illuminate\Container\Container.php:808</p>
</blockquote>

<p>I would like to know if it is at all possible to inject a repository interface into the Kernel, and, if yes, what am I doing wrong?</p>