litipk/doctrine-mongodb-jiffy

该包已被废弃,不再维护。未建议替代包。

Doctrine MongoDB ODM 的 Jiffy 通用时间戳类型适配器

1.0.0 2016-06-07 06:32 UTC

This package is auto-updated.

Last update: 2020-01-10 19:30:20 UTC


README

Author Quality Score Software License Packagist Version Total Downloads

关于库

PHP 没有提供任何原生类来实现具有毫秒或微秒精度的时间戳,唯一“原生”的方法是使用奇怪的 microtime 函数和/或 \MongoDate 类。

该库提供了一种 Doctrine ODM 类型,使我们能够在 Doctrine ODM 模型中使用 PHP-Jiffy 的 UniversalTimestamp 对象。如果你需要处理非常精确的时间戳,但又不想放弃类型提示而将代码与 \MongoDate 类耦合,这将非常有用。

作为额外的好处,该库还提供了与 mongodb 扩展及其 MongoDB\BSON\UTCDateTime 类的未来兼容性。

安装

composer require litipk/doctrine-mongodb-jiffy

使用方法

要使用此类型,有三个步骤

  1. 通过 Composer 安装库。
  2. 在您的应用程序中注册类型,如果您使用 Symfony,Bundle 构造函数是一个很好的地方来做这件事。
    
    Type::registerType(
        'UniversalTimestamp',
        'Litipk\Jiffy\Doctrine\ODM\MongoDB\UniversalTimestampType'
    );
    
  3. 在您的模型中使用 @UniversalTimestampField 注解来使用该类型。
    use Litipk\Jiffy\Doctrine\ODM\MongoDB\UniversalTimestampField;
    
    class OurDocument
    {
        /**
         * @UniversalTimestampField()
         * @var UniversalTimestamp
         */
        private $creationDate;
        
        // [...]
    }