mof / timestampable
自动生成Doctrine实体属性创建和更新的日期
v2.1.0
2019-07-14 14:11 UTC
Requires
- php: ^7.0
- doctrine/annotations: ^1.4
- doctrine/orm: ^2.5
Requires (Dev)
- codeception/base: ^2.5.6
This package is auto-updated.
Last update: 2024-09-14 16:08:29 UTC
README
演示
这个小巧的库允许你在Doctrine项目中自动处理实体某些属性的创建和更新。
如何安装
你需要通过composer来安装它
composer require mof/timestampable
然后你需要注册注解并将事件订阅者添加到Doctrine事件管理器中
AnnotationRegistry::registerLoader('class_exists'); // 这将注册注解
$annotationReader = new AnnotationReader();
$eventManager->addEventSubscriber(new TimestampableSubscriber($annotationReader));
你可以给TimestampableSubcriber构造函数提供任何实现Doctrine\Common\Annotations\Reader
接口的类。
然后你就可以开始了。
用法
在你的实体中,你可以添加属性将监听的事件,有2个事件可供选择
/**
* When an entity is created
* @var \DateTime
* @ORM\Column(type="datetime", name="created_at")
* @Timestampable(on=Timestampable::ON_CREATE)
*/
protected $createdAt;
/**
* When an entity is updated (the date is also set when an entity is created)
* @var \DateTime
* @ORM\Column(type="datetime", name="updated_at")
* @Timestampable(on=Timestampable::ON_UPDATE)
*/
protected $updatedAt;
测试
你可以通过克隆项目然后输入以下命令来运行测试
composer install
vendor/bin/codecept run
测试使用sqlite作为后台数据库,更多详细信息请参阅 https://php.ac.cn/manual/fr/sqlite.installation.php。