2016-05-24 14 views
0

Ich lese, dass Fassaden nicht gut sind. Ich habe keine Ahnung, ob das stimmt. Ich habe auch gelesen, dass Laravel viele davon benutzt. Außerdem lese ich, dass man sie in Lumen ausschalten kann. "Ausschalten" ist möglicherweise nicht das richtige Wort.Kann Laravel 5 ohne Fassaden verwendet werden?

Müssen Sie Laravel mit Fassaden verwenden? Wenn ich die Fassaden nicht benutze, bedeutet das, dass ich Laravel wahrscheinlich nicht gewählt habe?

Antwort

3

Sie sind nicht gezwungen, Fassaden zu verwenden.

prüfen Dokumentation bei https://laravel.com/docs/5.1/facades

Verwenden Sie einfach app Helfer zu bekommen, was Sie brauchen.

app('router'); 
app('config') 

oder Sie können IoC verwenden. Es gibt viele Möglichkeiten.

+0

Hat besiegen es irgendwie den Zweck Laravel der Wahl zu beginnen? – johnny

+0

@johnny Nein, ist es nicht. Es ist wie mit ORM, Sie wählen! :) – Danny

+2

@johnny überhaupt nicht, sie sind nur syntaktischer Zucker auf der Lernkurve zu erleichtern. Für viele würde eine Einführung in das Konzept eines IoC und die Abhängigkeitsinversion in frühen Lernstadien Laravel in Bezug auf Verständlichkeit mit Symfony gleichsetzen. Natürlich gibt es zu diesem "Zucker" eine Menge eigensinnigen Code, der zu Recht oder zu Unrecht auch die Lernkurve für Laravel-Neulinge erleichtert. Hier glänzt der Rahmen (und scheitert bei einigen). –

0

In der Tat müssen Sie in Ihrer App keine Fassaden verwenden. Wenn Sie für jede Fassade Facades class reference betrachten, finden Sie die Klasse in dieser Tabelle. So zum Beispiel anstelle von DB Fassade können Sie Illuminate\Database\DatabaseManager injizieren und Sie können ihre Methode verwenden.

Fassade Mit würden Sie verwenden:

DB:beginTransaction(); 

und Klasse injizieren und es in die Klasse Eigenschaft zuweisen können Sie schreiben:

$this->db->beginTransaction(); 
Verwandte Themen