php - 获取 PDT 代码完成以识别基类的运行时返回类型?

标签 php fluent eclipse-pdt code-completion

我有一个抽象基类:

abstract class BaseClass {
  /**
   * @return CLASSNAME
   */
  public function fluent() {
    // do stuff
    return $this;
  }
}

通常,我会将 BaseClass 放在 CLASSNAME 所在的位置,一切都会好起来的,PDT 会获取 phpdoc 返回类型并愉快地自动完成。

直到,也就是说,我继承了 BaseClass 并添加了额外的方法,并且代码在派生类的实例上竞争。 PDT 将只识别来自 BaseClass 的方法,而不是来自派生类的方法。

我需要的是@return self 或@return this 之类的东西。

PDT有这样的功能吗?或者是否有一个替代技巧,而不必在每个派生类中声明这些方法?

最佳答案

据我所知,PDT 中没有这样的功能,但您至少可以使用类型提示:

$obj = $osomething->fluent();
/* @var $obj ChildClass */

然后您将拥有自动完成派生的所有方法。我知道每次调用 fluent() 时都写这个注释很烦人,但它仍然比一遍又一遍地重新定义每个派生类中的方法要好......

关于php - 获取 PDT 代码完成以识别基类的运行时返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504198/

相关文章:

php - 在 mysql REGEXP 查询中转义单引号

entity-framework - EF5 Code First - 数据注释与 Fluent API

nhibernate - 流利的NHibernate映射可为空的枚举

PHP:使用 Eclipse PDT 字段的类型提示

php - Linux : Eclipse PDT and running as PHP Web application

java - Eclipse 3.4 文本查看器

phpMailer plesk centos 多IP设置

php分页不显示下一条记录

PHP MySQL 专栏总计

.net - 如何让 nhibernate 在 .net 4 中流畅工作