beecubu/php-foundation-mongodb
Composer 安装命令:
composer require beecubu/php-foundation-mongodb
包简介
PHP Object Foundation Framework Serialization library for MongoDB
README 文档
README
MongoDB integration for PHP Object Foundation. It provides:
- Serializable
Entityclasses with MongoDB-compatible IDs and types. - A lightweight MongoDB driver wrapper (
MongoClient,MongoDB,MongoCollection). - Base DB connection helper (
DBConnection).
Requirements
- PHP 7.1+
ext-mongodb>= 1.4.0beecubu/php-foundation-corebeecubu/php-foundation-helpers
Installation
composer require beecubu/php-foundation-mongodb
Entity Types
Entity: Uses MongoDB_id(ObjectId) and convertsDateTimetoUTCDateTime.PlainEntity: Same asEntitybut does not convert ids to MongoDBObjectId.ExplicitEntity: Same asEntitybut always serializes_class.PlainExplicitEntity: Same asPlainEntitybut always serializes_class.
Basic Entity Example
<?php
use Beecubu\Foundation\MongoDB\Entity;
use Beecubu\Foundation\Core\Property;
class User extends Entity
{
protected function properties(): void
{
parent::properties();
$this->properties += [
'name' => [Property::READ_WRITE, Property::IS_STRING],
'email' => [Property::READ_WRITE, Property::IS_STRING],
];
}
}
DB Connection
Define MongoDB constants:
define('MONGO_SERVER', 'localhost:27017');
define('MONGO_DATABASE', 'my_app');
Then extend DBConnection to access collections:
<?php
use Beecubu\Foundation\MongoDB\DBConnection\DBConnection;
class UsersDB extends DBConnection
{
public function users()
{
return $this->db->users;
}
}
Driver Usage
use Beecubu\Foundation\MongoDB\Driver\MongoClient;
$client = new MongoClient('mongodb://localhost:27017');
$db = $client->my_app;
$users = $db->users;
$users->insert(['name' => 'Ada']);
$doc = $users->findOne(['name' => 'Ada']);
$users->update(['_id' => $doc->_id], ['$set' => ['name' => 'Ada Lovelace']]);
$users->remove(['_id' => $doc->_id]);
Notes
- Collections are accessed as properties:
$db->users. MongoCollectionsupportsfind,findOne,findAndModify,insert,update,save,remove,aggregate,distinct,count,exists, anddrop.
beecubu/php-foundation-mongodb 适用场景与选型建议
beecubu/php-foundation-mongodb 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 125 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 10 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 beecubu/php-foundation-mongodb 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 beecubu/php-foundation-mongodb 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 125
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-10-10