In this talk, I am explaining how we went from supporting a legacy driver for one language engine (PHP) to an architecture where multiple language engines are supported. This is the tale of the new MongoDB driver for PHP and HHVM. We started off with one massively complex (and legacy) driver. The goal was an easy to maintain extension. In our case that became a joint venture between core drivers (in C/C++), and a user-land supporting library in PHP. Because there are now other engines that run PHP, such as HHVM and PHP 7, the only real work that needs to be done for porting to a new engine is the basic core driver. This talk explains the choices, considerations and issues that we ran into while developing the driver to work with multiple engines; and our first steps supporting Facebook's HHVM.
Commentaires