IDE中CakePHP的代码完成
作者:互联网
有人建议我“使用代码完成”,我意识到虽然我的IDE已完成代码,但它无法识别从CakePHP框架继承的大多数方法和变量,最值得注意的是视图的Helper方法.我正在使用PhpED,但似乎它的代码完成应该像在eclipse和其他编辑器中一样工作.
我遵循this建议无济于事;我创建了一个helpers.php文件,其中包含所有帮助程序的定义,并将其包含在项目中,但代码完成仍然无法与Helpers一起使用.
我认为问题的一部分是Mark Story的帖子来自旧版本的蛋糕(我在Cake 1.3上)所以我更新了Helpers的定义,如下所示:
$this->Form = new FormHelper();
但是任何视图仍然没有代码完成.有没有办法让这项工作?除了Helpers之外,我真的很想完成Model-> find()这样的功能,但那些也不起作用.
解决方法:
对于PhpED,您必须执行以下操作才能为$this启用自动完成功能.
假设你想在Controller中使用$this来做这样的事情
$this->Project->Country->getCountryName($countryId)
首先在类定义之前添加此PhpDoc标记
/**
* @property-read Project $Project
*/
class ProjectsController....
现在输入$this-> Project应按预期工作.
接下来是Project模型类.
在这里,在类定义之前再次添加以下代码
/**
* @property-read Country $Country
*/
class Project extends AppModel
现在$this-> Project-> Country-> getCountryName($countryId)有效.该方法不是我想要的100%,因为PhpEDs Autocompletion按字母顺序排序,因此任何以A或B开头的类都将在Country模式的方法之前显示.
标签:php,ide,cakephp,cakephp-1-3 来源: https://codeday.me/bug/20190630/1337411.html