gpt4 book ai didi

generics - PhpStorm 完成,类型提示泛型

转载 作者:行者123 更新时间:2023-12-01 23:20:41 24 4
gpt4 key购买 nike

我很想找到一种方法(如果这甚至可能?)让 PhpStorm 自动完成由我的 Factory 生成的代码每次我从中提取类时都不必编写 PHPDoc。

这是我的代码:

<?php
class Factory
{
public function getManager(string $class)
{
// if in cache ... returns

// not in cache > init
$manager = new $class();
$this->doStuff($manager);
return $manager;
}

public function doStuff($manager) {}
}

$factory = new Factory();
/** @var DateTime $dtClass */
$dtClass = $factory->getManager(DateTime::class);
$dtClass->getTimestamp();

因此,为了自动完成和静音 PhpStorm 警告,我必须在每个 getManager() 之后添加该行调用对应的类。
/** @var DateTime $dtClass */

我想知道 PHPDoc、PhpStorm 帮助文件或其他任何东西是否可以帮助做到这一点?
    /**
* @template T
* @param string $class <T>
* @return <T>
*/
public function getManager(string $class)
{

最佳答案

我的天啊 !非常感谢@LazyOne 🎉

我不敢相信只有 10 行代码就可以为我节省这么多时间

所以这里是一个快速的总结。
只需创建一个 文件夹 .phpstorm.meta.php在你的项目的根。
里面创建一个 manager.meta.php仅包含:

<?php

namespace PHPSTORM_META {
override(
\Factory::getManager(0),
map([
'' => '@',
])
);
}

等等!

关于generics - PhpStorm 完成,类型提示泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52630343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com