As mentioned in mongodb/mongo-php-driver#663:
Perhaps we can settle on a way to allow deserialization of these types in existing BSON while still making it terribly inconvenient for users to insert such values (e.g. BSON classes with private constructors).
Having classes for deprecated BSON types (i.e. undefined, symbol, DBPointer) will at least allow users to round-trip BSON through the PHP driver without any loss of field data.