我实现了一个对象生成器,它采用类名并尝试创建一个新的实例对象。如果需要,构建器会尝试注入服务。类名在当前实现中作为字符串传递。以下是的示例
$className = 'ExampleApplicationServiceClass';
$service = CiContext::newInstance($className);
但是,这与我的IDE(eclipse(不兼容,重构过程也找不到类名(字符串形式(。
有没有办法像java那样获取类名?
Class classInstance = ServerClass.class;
在这种情况下,重构过程会找到类引用并更改类名。
类名支持PHP7类常量。例如,以下代码在PHP 7.4中是正确的:
$service = CiContext::newInstance(ExampleApplicationServiceClass::class);
这将解决我的问题,IDE将查找类的用法。
另一方面,类文字也将支持对象。有关更多信息,请参阅对象上的类文字