Hier finden Sie Modellhilfsfunktionen in Symfony2

8

Ich habe folgende Funktion:

%Vor%

Diese Funktion gilt offensichtlich nicht für ein bestimmtes Modell und ist kein Vorlagenhelfer. Wo wäre der geeignete Ort, um diese Funktion zu platzieren? (Bitte sag nicht "wo du willst.")

    
Jason Swett 04.10.2012, 17:36
quelle

2 Antworten

12

Dies könnte die Art von Sache sein, die Sie in einen Dienst stellen würden. Erstellen Sie eine Klasse wie folgt:

%Vor%

Und dann definieren Sie es als Service. Wenn Sie YAML verwenden, würden Sie etwas in Ihre config.yml-Datei einfügen:

%Vor%

Unter dieser Konfiguration erstellt Symfony eine einzelne Instanz Ihrer ArrayUtils und gibt all Ihren Controllern Zugriff darauf. Dann kannst du es so nennen:

%Vor%

Dies ist alles Teil von Symfonys Abhängigkeits-Injection-Framework. Es ist ziemlich cool, und ich empfehle, es hier zu lesen: Ссылка

Alternative Option

Nun, das könnte ein bisschen zu viel für so einen kleinen Code sein. Wenn Sie dies nur in einem einzigen Paket verwenden, sollten Sie es nur in einen Basis-Controller einfügen und alle anderen Controller diesen Basis-Controller erweitern.

%Vor%     
Thomas Kelley 04.10.2012, 18:02
quelle
3

Standardmäßig werden die Dienstprogrammklassen in den Namensraum Util übernommen.

Wenn Sie Bundles verwenden, würde eine Klasse in den Namensraum YourBundle\Util gehen. Wenn Sie nicht tun, würde es gehen Der Acme\Util -Namespace - der src/Acme/Util -Ordner.

    
Elnur Abdurrakhimov 04.10.2012 18:09
quelle

Tags und Links