Laravel: Injeção de Dependência vs Fachadas?

O que eu estava fazendo anteriormente erainjetar apenas MY MODELS usando o construtor eusar Fachadas para as aulas fornecidas pelo Laravel isto éSession, Auth, Validator etc, por exemplo. Será que vai ser umboa idéia se eu injetar cada classe (meu ou do Laravel) através da construção e use-a$this->.. sintaxe oudevo injetar minhas próprias classes usando o construtor e usar Fachadas para qualquer coisa fornecida pelo Laravel?

Para ser mais específico, eis como meus controladores normalmente se parecem:

class MyController extends BaseController 
{
    public function __construct( User $user, Bookmark $bookmark ) {
        $this->user = $user;
        $this->bookmark = $bookmark
    }

    public function foobar ( ) {
        $user_id = Input::get('bar');
        ...
        Session::get('someInfo');
        ...
        return Redirect::to('/');
    }
    ...
}

Em vez disso, devo estruturar meus métodos como o controlador, como segue?

class MyController extends BaseController 
{
    public function __construct( User $user, Bookmark $bookmark, Input $input, Session $session, Redirect $redirect ) {
        $this->user = $user;
        $this->bookmark = $bookmark
        $this->input = $input;
        $this->session = $session;
        $this->redirect = $redirect;
    }

    public function foobar ( ) {
        $user_id = $this->input->get('bar');
        ...
        $this->session->get('someInfo');
        ...
        return $this->redirect->to('/');
    }
    ...
}

questionAnswers(4)

yourAnswerToTheQuestion