2017-04-23 3 views
0

definiert werden, sorry, weil meine Frage dum ist, aber ich bevorzuge zu fragen, meinen Code richtig zu organisieren.Wo sollte eine Aktion auf Entität

Eigentlich mache ich in einem Controller eine Aktion wie 'get entity + set aktiviert + persist + send a mail'.

Ich weiß, das sollte irgendwo anders platziert werden, um von anderen Controllern verwendbar zu sein.

Ich denke, dass es ein Service sein sollte, aber ich habe ein Zögern, könnte es in dem Modell sein? Aber angesichts der Aktion "Mail senden" bin ich mir nicht sicher.

Ich weiß, das ist etwas, das in der Vergangenheit diskutiert wurde, ich konnte einfach keine klare Erklärung dafür finden.

Es gibt eine offizielle Seite für die Geschäftslogik auf Symfony aber nicht klar darüber: http://symfony.com/doc/current/best_practices/business-logic.html

der Vielen Dank im Voraus für Ihre Hilfe

+0

Ja, Sie sollten diese Logik vom Controller in eine Anwendungsdienste verschieben und jeden Anwendungsfall dort modellieren. Über die "send a mail", versenden Sie einfach eine Veranstaltung. Überlassen Sie die Verantwortung, die E-Mail an den Ereignis-Listener zu senden – Federkun

Antwort

Verwandte Themen