Architecture Overview
This article explains how all the different components of the PHP driver fit together, from base system libraries, through the extension, and to the PHP libraries on top.
At the top of this stack sits a » PHP library, which is distributed as a » Composer package. This library provides an API consistent with other MongoDB » drivers and implements various cross-driver » specifications. While the extension can be used directly, the library has minimal overhead and should be a common dependency for most applications built with MongoDB.
Sitting below that library is a PHP extension, which is distributed through » PECL. The extension forms the glue between PHP and our system libraries (» libmongoc, » libbson, and » libmongocrypt). Its public API provides only the most essential functionality:
- Connection management
- BSON encoding and decoding
- Object document serialization (to support ODM libraries)
- Executing commands, queries, and write operations
- Handling cursors for command and query results
Project | GitHub | JIRA |
---|---|---|
PHP Library | » mongodb/mongo-php-library | » PHPLIB |
PHP Extension | » mongodb/mongo-php-driver | » PHPC |