cakephp - PHPStorm 自动完成 View 文件中的 CakePHP 自定义帮助程序

标签 cakephp autocomplete phpstorm cakephp-2.3

我使用 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/

相关文章:

Django - 具有自动完成功能的 Javascript 动态内联 FormSet

php - Zend Studio 浏览器工具栏替代 PhpStorm 3?

php - 更新到 php 5.4.9 后静态标准错误

没有 name 属性的 cakephp 表单输入

mysql - cakephp 2 个字段链接到同一个表

python - 如何在 tkinter 中返回光标下的单词?

php - CakePHP 2.3.0 中 Form->postLink 中的多个参数

如果从 ajax 生成,jquery 自动完成不起作用

intellij-idea - 如何指示应先编辑a变量

javascript - 禁用 PHPStorm 对 JavaScript 分号的内置检查