使用条令模型自动完成NetBeans?
我知道,通过执行以下操作,可以从条令中的*表类获得IDE自动完成:使用条令模型自动完成NetBeans?,netbeans,symfony1,doctrine,phpdoc,doctrine-1.2,Netbeans,Symfony1,Doctrine,Phpdoc,Doctrine 1.2,我知道,通过执行以下操作,可以从条令中的*表类获得IDE自动完成: SomethingTable::getInstance()-><autocomplete>; $somethings = Doctrine_Query::create() ->from('Something s') ->leftJoin('s.SomethingElse s2') ->where(
SomethingTable::getInstance()-><autocomplete>;
$somethings = Doctrine_Query::create()
->from('Something s')
->leftJoin('s.SomethingElse s2')
->where(...);
顺便说一句,如果不清楚的话,我想问的是,是否有任何自动解决方案,可以使用各种各样的理论来查找、获取或查询语法。我不是在问如何手动编辑所有PHPdoc头以产生我想要的行为
我将NetBeans 6.9.1和Symfony 1.4.12与条令一起使用,但并非所有在同一代码上工作的人都使用NetBeans。在NetBeans中,它非常简单:
$foo = ModelNameTable::getInstance()->find(1); /* @var $foo ModelName */
/*@var$foo ModelName*/告诉netbeans将变量$foo作为ModelName类处理。在netbeans中,它非常简单:
$foo = ModelNameTable::getInstance()->find(1); /* @var $foo ModelName */
/*@var$foo ModelName*/告诉netbeans将变量$foo作为ModelName类处理。只需通过添加
/**
* @return ModelNameTable
*/
在getInstance方法的注释中。这将为模型文件提供自动完成功能。
关于find方法,您可以如下编辑类的注释:
/**
* @method ModelName find()
*/
我认为您可以通过创建自己的骨架文件来自动完成这项工作。
或否:
您可以使用sed来实现这一点,或者使用反射api构建您自己的任务。只需通过添加
/**
* @return ModelNameTable
*/
在getInstance方法的注释中。这将为模型文件提供自动完成功能。
关于find方法,您可以如下编辑类的注释:
/**
* @method ModelName find()
*/
我认为您可以通过创建自己的骨架文件来自动完成这项工作。
或否:
您可以使用sed来实现这一点,也可以使用反射api构建自己的任务。问题在于,自动生成的*表类在getInstance方法中具有错误的phpdoc@return:
/**
* Returns an instance of this class.
*
* @return object MyModelTable
*/
public static function getInstance()
{
return Doctrine_Core::getTable('MyModel');
}
您只需手动修复删除word对象的@return行:
* @return MyModelTable
神奇的是,IDE自动完成功能可以正常工作,为您提供所有实例和静态方法:
MyModelable::getInstance()->... //(you'll have autocompletion here)
我知道,手动修复这个问题很痛苦,但至少每个model*表文件只需执行一次。问题是自动生成的*表类在getInstance方法中的phpdoc@return错误:
/**
* Returns an instance of this class.
*
* @return object MyModelTable
*/
public static function getInstance()
{
return Doctrine_Core::getTable('MyModel');
}
您只需手动修复删除word对象的@return行:
* @return MyModelTable
神奇的是,IDE自动完成功能可以正常工作,为您提供所有实例和静态方法:
MyModelable::getInstance()->... //(you'll have autocompletion here)
我知道,手动修复是一件痛苦的事情,但至少对每个model*表文件只需执行一次。虽然这是一个潜在的有用的难题,但由于几乎在任何地方都需要执行,因此它受到了极大的影响。我正在寻找一种解决方案,可以在最常见的条令情况下解决这个问题,而不需要像这样进行大量的编辑。条令中有太多的魔力,因为这可能非常简单。虽然这是一个潜在的有用的难题,但它因几乎在任何地方都需要这样做而受到极大的影响。我正在寻找一种解决方案,它可以修复最常见的条令情况,而不需要像这样进行大量编辑。条令中有太多的魔力,因为这可能很容易。