#### 架構概覽

本節將解釋驅動程序的所有不同部分是如何組合在一起的。不同的語言運行時,通過擴展和頂部的PHP庫。這種新的架構取代了舊的 [mongo](https://php.net/manual/zh/book.mongo.php) 擴展。我們將新版本作為 mongodb 擴展。
在這個堆棧的頂部有一個純粹的?PHP庫,我們將它作為一個Composer包來分發。這個庫將提供給用戶期望的API功能(例如CRUD方法、數據庫和集合對象、命令助手)等類似于從老mongo驅動程序所提供的功能,并且我們期望它是大多數應用MongoDB構建的應用程序時候的共同依賴。該庫還將實現常見的?規范,以提高MongoDB維護的所有?驅動程序的API時候的一致性(希望一些社區驅動程序按照這樣的規范)。
庫下面我們有低級別的驅動程序。這個擴展的驅動程序將有效地在PHP和我們的系統庫(?libmongoc和?libbson)之間形成粘合劑。此擴展將為最基本和性能敏感的功能開放出相同的公用API功能:
1. 連接管理
2. BSON編碼和解碼
3. 對象文檔序列化(以支持ODM庫)
4. 執行命令和寫操作。
5. 處理查詢和游標
通過將驅動程序內核和高級API分離到擴展和PHP庫中,我們希望這樣做能夠減少我們的維護負擔,并允許在新特性上進行更快的迭代。這會帶來一個受歡迎的好處,使得任何人都更容易對驅動程序做出貢獻。此外,采用相同的公共API將使在PHP不同的運行環境下的應用程序更容易移植,無論應用程序是直接使用底層驅動程序還是使用高級PHP庫。
* * * * *
https://secure.php.net/manual/zh/mongodb.overview.php