PHPStorm PHPDoc如何声明包含DateTime对象的数组参数?

PHPStorm PHPDoc如何声明包含DateTime对象的数组参数?,php,phpdoc,Php,Phpdoc,所以,我有一个方法,其中一个参数需要一个数组。像这样: private function handler($db_data){ $formatted_date = $db_data['StartDate']->format('Y-m-d H:i:s'); } 如您所见,此数组中包含DateTime对象。问题是我不知道如何使用PHPDoc声明这个DateTime对象,所以PHPStorm告诉我找不到方法“format”。有人知道怎么解决吗?不要建议取消此警告:)谢谢你可以将其存储在

所以,我有一个方法,其中一个参数需要一个数组。像这样:

private function handler($db_data){
    $formatted_date = $db_data['StartDate']->format('Y-m-d H:i:s');
}

如您所见,此数组中包含DateTime对象。问题是我不知道如何使用PHPDoc声明这个DateTime对象,所以PHPStorm告诉我找不到方法“format”。有人知道怎么解决吗?不要建议取消此警告:)谢谢你可以将其存储在一个临时变量中,并在那里添加PHPDoc。例如:

/** @var DateTime $date */
$date = $db_data['StartDate'];

这样,PhpStorm应该知道可用的方法。

您可以将其存储在临时变量中,并在其中添加PHPDoc。例如:

/** @var DateTime $date */
$date = $db_data['StartDate'];

这样PhpStorm应该知道可用的方法。

我唯一能想到的(因为数组是动态类型的)是:

编辑


旁注:不要太依赖IDE。我的回答不是很有用,因为你最初的陈述完全可读,并且很好地表达了意思。phpdoc不会对您的数组进行类型检查,因此它实际上只是为了删除IDE给您的警告。在我看来,它妨碍了代码的可读性。当然,这取决于你们,但对于非常复杂的数据结构,我会使用这样的注释。不适用于完全可读且简洁的代码。

我唯一能想到的(因为数组是动态类型的)是:

编辑


旁注:不要太依赖IDE。我的回答不是很有用,因为你最初的陈述完全可读,并且很好地表达了意思。phpdoc不会对您的数组进行类型检查,因此它实际上只是为了删除IDE给您的警告。在我看来,它妨碍了代码的可读性。当然,这取决于你们,但对于非常复杂的数据结构,我会使用这样的注释。不适用于完全可读且简洁的代码。

那么您要传递一个DateTime对象,将其作为数组访问,然后对该元素进行格式化?有些事情似乎不对劲;)你是对的,我看错了问题。一旦我发现如何传递DateTime对象,以数组的形式访问该对象,然后对该元素进行格式化,我就会编辑我的答案?有些事情似乎不对劲;)你是对的,我看错了问题。当我发现不仅存在
DateTime
对象时,我会立即编辑我的答案,这应该是使用PHPDocThanks可能的最接近的方法。我真的不想仅仅为了这个目的而声明新变量,但它是最接近的:)是的,这是我在旁注中提到的:)因为不仅有
DateTime
对象,这应该是使用PHPDocThanks可能的最接近的方法。我真的不想仅仅为了这个目的而声明新变量,但它是最接近的:)是的,这是我在旁注中得到的:)