litipk / doctrine-mongodb-jiffy
此包已被废弃,不再维护。未建议替代包。
Doctrine MongoDB ODM 上 Jiffy 的通用时间戳类型适配器
1.0.0
2016-06-07 06:32 UTC
Requires
- php: >=5.5.0
- doctrine/mongodb-odm: ^1.0
- litipk/php-jiffy: ^1.4
README
关于库
PHP 不提供任何本地类来实现毫秒或微秒精度的时间戳,唯一“本地”的方法是使用奇怪的 microtime
函数和/或 \MongoDate
类。
此库提供了一个 Doctrine ODM 类型,使我们的 Doctrine ODM 模型能够使用 PHP-Jiffy 的通用时间戳 对象。如果您需要处理非常精确的时间戳,但又不希望将代码与 \MongoDate
类耦合,同时不放弃类型提示,这将非常有用。
作为额外奖励,此库提供了与 mongodb
扩展及其 MongoDB\BSON\UTCDateTime
类的未来兼容性。
安装
composer require litipk/doctrine-mongodb-jiffy
使用
要使用此类型,有三个步骤
- 通过 Composer 安装库。
- 在您的应用程序中注册此类型,如果您使用 Symfony,则 Bundle 构造函数是一个不错的选择。
Type::registerType( 'UniversalTimestamp', 'Litipk\Jiffy\Doctrine\ODM\MongoDB\UniversalTimestampType' );
- 在您的模型中使用
@UniversalTimestampField
注解来使用此类型。use Litipk\Jiffy\Doctrine\ODM\MongoDB\UniversalTimestampField; class OurDocument { /** * @UniversalTimestampField() * @var UniversalTimestamp */ private $creationDate; // [...] }