我知道可以通过执行以下操作从 Doctrine 中的 *Table 类中获取 IDE 自动完成功能:
SomethingTable::getInstance()-><autocomplete>;
但是缺少最重要的部分。我想要模型类本身的自动完成,而不仅仅是表类。Doctrine 似乎没有在 find和其他标准模型方法中正确声明 PHPdoc @return 对象类型。
例如,我希望能够做到的是:
$something = SomethingTable::getInstance()->find($id);
$something-><autocomplete>
并让它弹出Something类的方法和属性。
我还应该提到,我根本不特别关心使用 SomethingTable::getInstance() 语法。任何体面的标准 Symfony 语法都是可以接受的。大多数时候,我通过如下自定义查询获取对象(或 Doctrine_Collections):
$somethings = Doctrine_Query::create()
->from('Something s')
->leftJoin('s.SomethingElse s2')
->where(...);
顺便说一句,如果不清楚,我问是否有任何自动解决方案可以使用各种 Doctrine 查找、获取或查询语法。我不是在问如何手动编辑所有 PHPdoc 标头以导致我想要的行为。
我将 NetBeans 6.9.1 和 Symfony 1.4.12 与 Doctrine 一起使用,但并非所有处理相同代码的人都使用 NetBeans。