2017-09-24 8 views
0

symfonyのサービスでDoctrine \ ORM \ Tools \ Pagination \ Paginatorクラスを使いたいので、このクラスのインスタンスを返すサービスは存在しません。ベストプラクティスではクラスを直接渡すか、このクラスのインスタンスを返すサービスを作成します。symfony Doctrine Paginatorをサービスに渡す

答えて

1

Factory Method patternを使用してサービスを作成し、必要なパラメータ(Query/QueryBuilderおよびfetchJoinCollection)を使用してPaginatorクラスをインスタンス化し、それをクラスに挿入することをお勧めします。この手法を使用すると、ユニットテスト中にPaginatorオブジェクトをモックするのに役立ちます。

1

parametre

services: 
    your.service.name: 
     class: AppBundle\Services\YourClassName 
     arguments: ['@doctrine.services.paginator'] 

    doctrine.services.paginator: 
     class: Doctrine\ORM\Tools\Pagination\Paginator 
     public: false 
+0

として民間サービスを作成します。しかしページネータは、コンストラクタparametreを必要とします – spinoza

関連する問題