title: Which classes can I type-hint dependencies for automatic injection in Laravel 5?
body: <p>Laravel's service container has a really great automatic injection feature that allows you to type-hint dependencies in a class constructor (which resolve with a new instance of that dependency if none is provided). I tried doing this in the constructor of an Eloquent model but it failed. After some searching, I realized that there are only certain classes that will be read by the service container. According to the <a href="https://laravel.com/docs/5.3/container#automatic-injection" rel="nofollow noreferrer">5.3 docs</a></p>
  
  <blockquote>
    <p>Alternatively, and importantly, you may simply "type-hint" the dependency in the constructor of a class that is resolved by the container, including controllers, event listeners, queue jobs, middleware, <strong>and more</strong>.</p>
  </blockquote>
  
  <p>It's that last "and more" that makes me curious - does anyone know a complete list of classes where you can type-hint dependencies in Laravel?</p>