我使用 PhpStorm 6.0.2 和 CakePHP 2.3。
在我的 Controller 文件中,我定义了它并为我的自定义组件获取自动完成:
/**
* @property MysuperComponent $Mysuper
*/
关于this ,在我的 View 文件中,我定义了它来达到 Cake 的核心助手,并且它有效:
/**
* @var $this View
*/
我需要在我的 View 中自动完成自定义帮助程序。我尝试过,但没有成功:
/**
* @property Myelegant $MyelegantHelper
*/
当我这样做时,这部分有效:
/**
* @var $Myelegant MyelegantHelper
*/
我得到了这个 $Myelegant->
自动完成功能。但这还不够。我需要像这样的自动完成: $this->Myelegant->
注释:自动完成功能成功适用于 View (ctp) 文件内的核心帮助程序。但不适用于自定义助手。
最佳答案
添加新文件/app/View/HintView.php
在 PHPDoc 上添加您的自定义助手的名称。
<?php
App::uses('View', 'View');
/**
* @property MyelegantHelper $Myelegant
* */
class HintView extends View {
}
在布局文件或 View 文件(ctp 文件)中添加此代码在顶部
/**
* @var $this HintView
*/
现在在您的 View 中您可以看到如下内容:
$this->MyElegant
->Blocks
->Cache
->Form
$this->MyElegant->somefunction()
anotherfunction()
oldfunction()
您不必从 HintView 扩展您的 View 。它仅适用于 PhpStorm 的自动完成。
(请注意,您可以通过创建代码快捷方式来加快速度。例如转到 Settins/IDE Settings/Live Templates 。添加新模板。例如“myeleg”代表“$this->MyElegant->
”所以当你写“myeleg”并按 Tab 键时,它会自动写出类名)
关于cakephp - PHPStorm 自动完成 View 文件中的 CakePHP 自定义帮助程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905153/