【发布时间】:2020-06-08 18:29:39
【问题描述】:
以下两个返回语句将返回相同的字符串:
getClassName(): string
{
return MyClassName::class; // returns 'MyClassName'
return 'MyClassName'; // returns 'MyClassName'
}
我们也有调用这个方法的代码。
$className = getClassName();
在我们调用这个方法的代码中,有没有办法判断::class是否被用来生成字符串?
我们使用的 IDE 能够检测到 ::class 何时被使用,我们希望在编译时以某种方式在我们的代码中使用此逻辑。
【问题讨论】:
-
不,一旦有了值,就无法知道它的来源。
-
如果你需要知道,你的设计有问题。关心函数如何计算其结果是违反模块化的。
-
IDE 当然可以解决问题,它查看的是源代码,而不是数据。
-
好的,谢谢。如果您想将此作为答案发布,我很乐意接受。
标签: php string class return-value