php 如何使用时间戳?

svgewumm  于 2023-01-29  发布在  PHP
关注(0)|答案(2)|浏览(159)

我正在做一个测试,看到这个函数:

Class Object{
    use Timestampable;
}
$object= new Object();
$object->setCreatedAt(new DateTime());

我认为这是一个陷阱问题,因为我在php manual中找不到“时间戳”。
我在stackoverflow上看到过对它的引用,这让我很困惑它是否真的可以使用。我知道MySQL数据库中有时间戳,但它真的存在或在PHP中有用途吗?

jvidinwx

jvidinwx1#

时间戳就是所谓的trait,它旨在帮助重用代码。
假设你有一堆实体,它们都有一些共同的功能,例如,它们都需要$createdAt$updatedAt字段。你可以通过为所有实体创建一个共同的基类来实现这个功能,但从架构的Angular 来看,这并不好。
相反,你可以创造一个特质:

trait Timestampable
{
    protected DateTime $createdAt;
    protected DateTime $updatedAt;   
    ...
}

然后像这样使用它:

class User
{
    use Timestampable;
}

现在User对象将有$createdAt字段和trait中定义的任何其他字段或方法,就像它们在User类中定义的一样,这样你就不需要在所有类中重复相同的代码。
时间戳是一个更常见的特性,但显然特性并不局限于此。

  • 我知道这是一个4年前的问题,但它是谷歌上的顶级结果,所以认为它可能对其他人有帮助。*
xdnvmnnf

xdnvmnnf2#

测试的问题不是关于Timestampable函数的,那只是一个例子。这个问题是根据你对抽象类,接口和特性的知识设计的。

相关问题