Man könnte argumentieren, dass, da Sie Request
Objekt aus Container ziehen müssen, es ist langsamer Ansatz, aber ich habe beides getan und Unterschied ist vernachlässigbar. Wenn Sie Request
Objekt benötigen, ist es besser, es als das Argument der Controller-Methode zu setzen, weil Sie es sofort haben und PHP Type Hinting wird zusätzliche Informationen (Autocomplete usw.) in anständigen IDEs zur Verfügung stellen (ich persönlich empfehle PHPStorm). Dies gilt auch für andere Controller-Methodenargumente. Sie erhalten gerade Variablen, die Sie nicht zweimal von anderen Stellen ziehen müssen.
class SthController extends Controller
{
public function indexAction(Request $request, $arg1, $arg2)
{
// you have $request object with type hint and all goodness
}
}
Thx. Und was ist mit der Übergabe von Parametern von Controller zu Zweig Vorlage - welcher Weg ist schneller Parameter vom Controller übergeben, oder erhalten Parameter in Zweig Vorlage von '{{app.request.get ('Name')}}'? – NHG
Für die Performance gelten die gleichen Regeln ('app.request.get' übersetzt sich direkt in etwas wie' $ container-> get ('request') -> get ('name') '). Aber für den Codierungsstil sollten Sie sich nicht auf die 'app'-Variable verlassen, da sie nicht in allen Situationen verfügbar ist (versuchen Sie ESI, Template Includes oder so zu testen und Sie werden in derselben Position enden wie vor Monaten) - das Beste So können Sie alle Daten senden, die Sie vor der Renderschablonenanforderung berechnet haben. –