Laravel - inyección de dependencia y el contenedor IoC

Estoy tratando de envolver mi cabeza alrededor de la inyección de dependencia y el contenedor IoC y estoy usando mi UserController como ejemplo. Estoy definiendo de qué depende el UserController en su constructor y luego estoy vinculando esos objetos utilizando App :: bind (). Si estoy usando la fachada / método / cosa Input :: get (), ¿no estoy aprovechando el objeto Request que acabo de inyectar? ¿Debería estar usando el siguiente código en su lugar, ahora que el objeto de solicitud se inyecta o no se resuelve Input :: get () en la misma instancia de solicitud? Me gustaría usar las fachadas estáticas, pero no si se resuelven en objetos no inyectados.

$this->request->get('email');

Inyección de dependencia

<?php
App::bind('UserController', function() {
    $controller = new UserController(
        new Response,
        App::make('request'),
        App::make('view'),
        App::make('validator'),
        App::make('hash'),
        new User
    );
    return $controller;
});

UserController

<?php
class UserController extends BaseController {

protected $response;
protected $request;
protected $validator;
protected $hasher;
protected $user;
protected $view;

public function __construct(
    Response $response,
    \Illuminate\Http\Request $request,
    \Illuminate\View\Environment $view,
    \Illuminate\Validation\Factory $validator,
    \Illuminate\Hashing\BcryptHasher $hasher,
    User $user
){
    $this->response = $response;
    $this->request = $request;
    $this->view = $view;
    $this->validator = $validator;
    $this->hasher = $hasher;
    $this->user = $user;
}

public function index()
{
    //should i use this?
    $email = Input::get('email');
    //or this?
    $email = $this->request->get('email');

    //should i use this?
    return $this->view->make('users.login');

    //or this?
    return View::make('users.login');
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta