You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 17, 2025. It is now read-only.
In order to remain as flexible as possible, the service factories require thatyou pass information to the constructors. As such, you should typicallyconfigure and setup the factories via yourModule.php definition:
If you want the server, server options, database, collection, or any servicenames to be dynamic, consider wrapping the factories in closures, and passingin configuration:
namespaceMy;usePhlyMongo\MongoCollectionFactory;usePhlyMongo\MongoConnectionFactory;usePhlyMongo\MongoDbFactory;class Module{publicfunctiongetServiceConfig() {returnarray('factories' =>array('My\Mongo' =>function ($services) {$config =$services->get('config');$config =$config['my']['mongo'];$factory =newMongoConnectionFactory($config['server'],$config['server_options']);return$factory->createService($services); },// and so on // )); }}
However, if you need to do this, you might just as easily use the native Mongoclasses.
Hydrating Cursor
The hydrating cursor is useful as a way to map result sets to objects.
Pass aMongoCursor instance to the constructor, along with a hydrator and aprototype object, and you're set:
The paginator adapter allows you to use aMongoCursor withZend\Paginator.
Pass aMongoCursor to the constructor, and then pass the adapter to thepaginator instance.
usePhlyMongo\PaginatorAdapterasMongoPaginatorAdapter;useZend\Paginator\Paginator;$adapter =newMongoPaginatorAdapter($collection->find());$paginator =newPaginator($adapter);$paginator->setCurrentPageNumber(5);$paginator->setItemCountPerPage(10);foreach ($paginatoras$item) {// only receiving up to 10 items, starting at offset 50}
Hydrating Paginator Adapter
This builds on the paginator adapter, and simply alters it to acceptspecifically aPhlyMongo\HydratingMongoCursor in the constructor, allowingyou to return objects of a specific type during iteration.
usePhlyMongo\HydratingMongoCursor;usePhlyMongo\HydratingPaginatorAdapterasMongoPaginatorAdapter;useZend\Paginator\Paginator;$adapter =newMongoPaginatorAdapter(newHydratingMongoCursor($collection->find(),newObjectProperty,newStatus));$paginator =newPaginator($adapter);$paginator->setCurrentPageNumber(5);$paginator->setItemCountPerPage(10);foreach ($paginatoras$item) {// only receiving up to 10 items, starting at offset 50printf('%s <%s>: %s',$status->name,$status->email,$status->status);}
About
ZF2 module for handling Mongo services, resultsets, and pagination