tra*_*nte 8 cakephp autocomplete phpstorm cakephp-2.3
我使用PhpStorm 6.0.2和CakePHP 2.3.
在我的控制器文件中,我定义了这个并获得自定义组件的自动完成:
/**
* @property MysuperComponent $Mysuper
*/
Run Code Online (Sandbox Code Playgroud)
关于这一点,在我的视图文件中,我定义了这个以达到Cake的核心助手,这有效:
/**
* @var $this View
*/
Run Code Online (Sandbox Code Playgroud)
我需要在视图中自动完成自定义帮助程序.我尝试了这个但是没有用:
/**
* @property Myelegant $MyelegantHelper
*/
Run Code Online (Sandbox Code Playgroud)
当我这样做时,这部分工作:
/**
* @var $Myelegant MyelegantHelper
*/
Run Code Online (Sandbox Code Playgroud)
我得到了这个$Myelegant->自动完成功能.但这还不够.我需要像这样的自动完成:$this->Myelegant->
注意:自动完成功能成功地适用于视图(ctp)文件中的核心帮助程序.但不适合自定义助手.
添加新文件/app/View/HintView.php
在PHPDoc上添加自定义帮助程序的名称.
<?php
App::uses('View', 'View');
/**
* @property MyelegantHelper $Myelegant
* */
class HintView extends View {
}
Run Code Online (Sandbox Code Playgroud)
在布局文件或视图文件(ctp文件)中,将此代码添加到顶部
/**
* @var $this HintView
*/
Run Code Online (Sandbox Code Playgroud)
现在在您的视图中,您可以看到如下:
$this->MyElegant
->Blocks
->Cache
->Form
$this->MyElegant->somefunction()
anotherfunction()
oldfunction()
Run Code Online (Sandbox Code Playgroud)
您不必从HintView扩展您的视图.它仅适用于PhpStorm的自动完成功能.
(请注意,您可以通过创建代码快捷方式来加快速度.例如,转到Settins/IDE设置/ 实时模板.添加新模板.例如"myeleg"for" $this->MyElegant->"所以当你写"myeleg"并按Tab键时它会自动写类名)
| 归档时间: |
|
| 查看次数: |
5557 次 |
| 最近记录: |