我创建了一个标准的Registry类。然后注册表可以使用返回一个新的或已经创建的类实例
$classObject = $registry->getInstance(NamespacesubdirectoriesClassName);
我的项目是用名称空间设置的,所以这是典型的语法。所有操作都很好,除了像Eclipseluna这样的IDE将不再有ContentAssist,这意味着按下ctrl+space将不再弹出带有类公共方法的屏幕。
以前有人遇到过这种情况吗?您是如何尽可能地恢复内容辅助功能的?或者,如果你不能恢复功能,你做了什么,那么编程在项目中仍然很实用?
我已经通过对我的IDE 使用PHPDoc类型提示解决了这个问题
示例
/**
/* @var FullClassNamespace
*/
$private $someVar;
public function __construct() {
$this->someVar = registry->getClassinstance(fullnamespace);
$someVar-> (autocomplete works)
}
值得注意的是,在一些IDE中,内联类型提示是不起作用的,比如/**@var namespace*/。首字母/**和结尾*/必须在分隔的行中