php – NetBeans自动完成从包含的文件不起作用?

我有一个名为config.PHP文件,我有其他文件包括config.PHP.当编辑一个文件时,我使用一个来自config.PHP的对象,它会自动填充对象的名称.但是,当我尝试查看此对象的函数或变量(使用 – >)时,没有自动完成.有什么办法让它工作吗?

注意:我已经在对象定义之前添加了/ * @var $myObject myType * / config.PHP.我必须将该行添加到我的每个文件包括config.PHP?这似乎不对.

编辑:添加样品.

目录;

> config.PHP
> index.PHP
> lib / test.class.PHP

config.PHP文件;

<?PHP
define('ABSPATH',dirname(__FILE__));
include_once ABSPATH.'/lib/test.class.PHP';

/* @var $TestObj test */
$TestObj = new test();

// auto complete works here.
$TestObj->someFunction();
?>

index.PHP文件;

<?PHP
include_once 'config.PHP';

// here,auto completes object name
// not lists functions or variables after ->
$TestObj->someFunction();
?>

LIB / test.class.PHP;

<?PHP
class test {
    public $var1;

    public function someFunction() {
        echo 'I am some function.';
        return 0;
    }
}
?>

当我添加/ * @var $TestObj test * /到index.PHP时,它正在工作,但是我会有很多这样的文件,并且必须比将该行添加到所有文件中更好的方法.

确保项目的所有文件都位于项目的包含路径中(右键单击项目 – >属性 – >包含路径).通常只有在“NetBeans”设置中配置的“全局包含路径”(例如指向您的PEAR目录).将包含要自动完成的源代码的所有目录添加到此包含路径.提示:这包括路径与PHP本身使用的include_path无关.

而不是在cient代码中使用提示

/* @var $TestObj test */
$TestObj->...

你应该给源头更多的apidoc,例如:

<?PHP
class test {
    /**
     * @var SomeClass
     */
    public $var1;

    /**
     * @return int
     */
    public function someFunction() {
        echo 'I am some function.';
        return 0;
    }
}

由于PHP的动态本质,IDE对这些信息给出了正确的提示.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...