Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php文件中的phpdoc@var_Php_Eclipse_Autocomplete_Ide_Phpdoc - Fatal编程技术网

php文件中的phpdoc@var

php文件中的phpdoc@var,php,eclipse,autocomplete,ide,phpdoc,Php,Eclipse,Autocomplete,Ide,Phpdoc,我有下一个php代码 <?php class A { public function foo() { } } /** * @var A $a */ $a-> 以下语法在eclipse中运行良好 /* @var $a A */ $a-> 请注意,我切换了参数顺序。出于某种原因,Eclipse中的PDT交换了@var参数的顺序。此语法适用于: <?php class A { public function foo() { } } /

我有下一个php代码

<?php
class A {
    public function foo() {

    }
}
/**
 * @var A $a
 */
$a->

以下语法在eclipse中运行良好

/* @var $a A */
$a->

请注意,我切换了参数顺序。

出于某种原因,Eclipse中的PDT交换了@var参数的顺序。此语法适用于:

<?php
class A {
    public function foo() {

    }
}
/**
 * @var $a A
 */
$a->

我使用的是一种eloquent的变体,即自动填充变量,而自动暗示在我的eclipse中完全失败,无论我是将它放在上面、下面、单行还是多行注释中

我确实找到了一种方法,它确实对我有用

class Foo extends Model {
    public function beforeSave() {
        $bar = $this->bar;
        foreach($bar as $baz) {
            $baz-> // <-- this works now \o/
        }
    }
    /**
     * @return \Foo\Baz\Models\Bar
     */
    public function getBar() {
        return $this->bar;
    }
}
类Foo扩展模型{
保存()之前的公共函数{
$bar=$this->bar;
foreach($bar为$baz){
$baz->//巴;
}
}

这可能在很大程度上取决于您使用的IDE。它应该取决于phpdoc。如果phpdoc支持它,它应该在每个使用phpdoc@Rus我认为这是行不通的。可能有机会做到的是让phpDoc首先包含autoloader文件——这在许多IDE中都是可能的,但我不知道这是否可行phpDoc中的leitself@Pekka,IDE无法计算autoloader的运行时工作流。它必须基于静态phpdoc语法。@许多IDE允许添加包含文件以进行文档分析。您可能可以这样做。我知道,您使用的是哪个版本的eclipse?在我的eclipse版本中:3.7.0构建id:I20110613-1736 i不起作用。我刚刚编辑了我的答案。这种语法应该有效。我已经在EclipseHelios3.6中对其进行了测试。请注意,begging和end处的空白对于eclipse很重要