Was war ich nur den Konstruktor und Verwendung Fassaden für die Laravel der bereitgestellten Klassen meiner Modelle zu inject zuvor getan hatte heißen Session
, Auth
, Validator
etc, zum Beispiel unter Verwendung. Wird es eine gute Idee, wenn ich jede Klasse (entweder meine oder Laravel) durch Konstrukt injizieren und es durch $this->..
Syntax oder sollte ich meine eigenen Klassen mit Konstruktor injizieren und Fassaden für alles von Laravel bereitgestellten verwenden?Laravel: Abhängigkeitsinjektion vs Fassaden?
Genauer gesagt, hier ist das, was normalerweise meine Controller wie folgt aussehen:
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('/');
}
...
}
möchte ich nach meiner Methoden wie Controller strukturieren, statt?
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('/');
}
...
}
Diese Frage scheint off-topic zu sein, weil sie auf programmers.stackexchange.com sein sollte –
Wissen Sie * warum * Sie sollten Objekte anstelle von Laravels Fassaden injizieren? –
@FlorianMargaine, sollte * "Fassaden" * sein. –