Verwenden einer Factory zum Erstellen von Diensten mit symfony2.7 - symfony, symfony-2.7

Wie benutzt man factory um Dienste mit symfony2.7 zu erstellen?

#service.yml
#in symfony 2.6
my.repository.photo:
class: MyAppBundleRepositoryPhotoRepository
factory_method: getRepository
factory_service: doctrine
arguments: [MyAppBundleEntityPhoto]

#I have some errors like this
Deprecated: SymfonyComponentDependencyInjectionDefinition::setFactoryMethod(getRepository) is deprecated since version 2.6 and will be removed in 3.0. Use Definition::setFactory() instead. in /my/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Definition.php on line 137
Deprecated: SymfonyComponentDependencyInjectionDefinition::setFactoryService(doctrine) is deprecated since version 2.6 and will be removed in 3.0. Use Definition::setFactory() instead. in my/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Definition.php on line 208

Wie verwende ich die "setFactory" -Methode jetzt in meinem Fall? Dokumente: http://symfony.com/doc/master/components/dependency_injection/factories.html

Vielen Dank!

Antworten:

2 für die Antwort № 1

Ich denke, verwandte Dokumentation ist klar. Probieren Sie diese Konfiguration aus:

my.repository.photo:
class: MyAppBundleRepositoryPhotoRepository
factory: ["@doctrine", getRepository]
arguments: [MyAppBundleEntityPhoto]

Veraltete Fehler sind eine Vorbereitung für die kommende Symfony 3.0. Einige Funktionen (wie factory_service | factory_method) werden entfernt. Hier ist ein Thread, wo Sie Lösungen finden können um Symfony veraltete Fehler zu deaktivieren wenn du es wirklich nicht brauchst.


Speisekarte