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 的通用时间戳 对象。如果您需要处理非常精确的时间戳,但又不希望将代码与 \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;
        
        // [...]
    }