将变量转换为 Class

Cast Variable to Class

这可能是一个奇怪的问题,但在我们所有的系统中,我们都使用加载程序 class 来让我们返回 class:

$Class = core::load('ClassName'); //returns an instance of the class ClassName

这可能不是最好的方法,但正如我所说,它一直存在,所以改变它是一件大事。此外,它非常适合我们。唯一的问题是 PHPStorm 无法将 $Class 识别为 ClassName 的实例。有什么方法可以做一些与 php 中的演员表类似的事情吗?

$Class = (ClassName)core::load('ClassName');

您可以验证您的 class 是否只是 YourClass 的实例 using it:

$obj = new A();
if ($obj instanceof A) {
    // do something...
}

您可以在 PhpStorm 中执行此操作:

/**
 * @var YourClass $Class
 */
$Class = core::load('ClassName');

使用@var [type] [variable]让PHPStorm知道class类型

/** @var Class名字$Class */
$Class = core::load('ClassName');