PHPSTORM 里这种写法有什么好的方法实现方法间的跳转和代码提示吗

2021 年 1 月 19 日
 NakeSnail
        return Apiato::call("Wechat@GetTmpKeyTask",[$data->tmpKey],['withinExpiration']);

call 这种方式最终都是运行 GetTmpKeyTask 的 run 方法,想要能有直观的方式知道 run 方法的入参。

代码提示 tabnine 勉强还行,方法跳转没想到啥好的方法。

3321 次点击
所在节点    PHP
13 条回复
coooold
2021 年 1 月 19 日
namespace PHPSTORM_META
coooold
2021 年 1 月 19 日
.phpstorm.meta.php

override() 方法
sanggao
2021 年 1 月 19 日
@coooold 老哥能不能详细说下
NakeSnail
2021 年 1 月 19 日
@coooold 试了下支持的操作不多,没实现我要的
NakeSnail
2021 年 1 月 19 日
niucility
2021 年 1 月 19 日
不要用字符串的方式调用,用 GetTmpKeyTask::class 的方式来调用
NakeSnail
2021 年 1 月 20 日
@niucility apiato 这个框架不太推荐这么做,避免不同模块之间的直接依赖。我觉得也挺有道理,要是 GetTmpKeyTask::class 这种方式能解决第二个参数提示是 GetTmpKeyTask::class 这类的 RUN 方法的参数的吧就比较好了
Wenco
2021 年 1 月 22 日
@NakeSnail 有个疑问,写业务,直接依赖与间接依赖有什么区别?
NakeSnail
2021 年 1 月 22 日
@Wenco 不会使整个程序报错,缺少 GetTmpKeyTask::class 只会影响调用他的失败
Wenco
2021 年 1 月 22 日
@NakeSnail 我怎么觉得这反而是坑,PHP 都在向静态化靠拢了,这样处理反而增加了排错成本。
NakeSnail
2021 年 1 月 22 日
@Wenco 各有各的道理吧,降低不同模块间的耦合度,方便拆成微服务吧,只是现实里这种作用不太大。我个人这两种写法都不太喜欢。敲起来都不太方便
zjsxwc
2021 年 2 月 17 日
再套个娃呗,写个脚本生成类似下面这种代码。


/**
* @param string $datatmpKey
*/
function RunGetTmpKeyTask($datatmpKey){
return Apiato::call("Wechat@GetTmpKeyTask",[$datatmpKey],['withinExpiration']);
}
8355
2021 年 6 月 7 日
ACEJUMP?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX