KnpLabs / KnpGaufretteBundle

Easily use Gaufrette in your Symfony projects.
http://knplabs.com
MIT License
717 stars 157 forks source link

define service for adapter with GridFS #214

Open sha256-mercury opened 5 years ago

sha256-mercury commented 5 years ago

Hello, I want to use GridFs in my Symfony application. The default configuration on the GridFs seems to not walk well. I'm using knplabs/knp-gaufrette-bundle v0.5.3, gaufrette/gridfs-adapter v0.4.0 and mongodb/mongodb 1.1.2. There is my service configuration

   app.mongo:
            class: Mongo
        arguments: [%app.mongo.server%, %pp.mongo.options%]
    app.mongodb:
        class: MongoDB
        arguments: [@app.mongo, %app.mongodb.name%]
    app.gridfs:
        class: MongoGridFS
        arguments: [@app.mongodb, %app.gridfs.prefix%]

When I tried to debug, I have this error Type error: Argument 1 passed to Gaufrette\Adapter\GridFS::__construct() must be an instance of MongoDB\GridFS\Bucket, instance of MongoGridFS given I have to define an instance of MongoDB\GridFS\Bucket as a service but I did not find the class MongoDB\Driver\Manager . Please there is somebody who can help me ?

theyough commented 5 years ago

you can replace:

   app.mongo:
            class: Mongo
        arguments: [%app.mongo.server%, %pp.mongo.options%]
    app.mongodb:
        class: MongoDB
        arguments: [@app.mongo, %app.mongodb.name%]
    app.gridfs:
        class: MongoGridFS
        arguments: [@app.mongodb, %app.gridfs.prefix%]

By:

    app.gridfs:
        class: MongoDB\GridFS\Bucket
        arguments:
            $databaseName: %database_name%