phpstorm 设置代码提示
对于某些较旧框架中的代码,您可能会遇到代码提示不可用的问题。本文针对位于 “kernel::single” 函数中的代码,演示了如何让 phpstorm 提供代码提示,该函数采用 “$class_name” 变量作为参数并返回一个对象。
解决此问题的常用方法是使用注释。添加以下注释:
/** * @template t * @param class-string<t> $class_name * @param $arg * @return t */ function single($class_name, $arg = null) { }
您还可以使用 .phpstorm.meta.php 元数据文件。在项目根目录下创建该文件,并将以下代码添加到其中:
立即学习“PHP免费学习笔记(深入)”;
namespace phpstorm_META { // 这里的 kernel::single 如果有完整的命名空间就需要写完整,这里的 0 表示第 0 个参数 override(kernel::single(0), map([ // 第一个 这里表示第 0 个参数传入任意字符串,都将尝试解释为返回这个以这个字符串为类名的实例 '' => '@', // 下面就可以自定义,比如你传入了一个 abc 将会返回一个 ClassAbc 类的实例 'abc' => ClassAbc::class, ])); }