PHP类型在NetBeans中提示地图(关联数组)?

时间:2013-10-05 06:30:31

标签: php netbeans type-hinting

我正在尝试利用NetBeans处理对象类型的智能方式,所以我在评论中暗示每个对象的类型。

问题是,我想提示一个关联数组(string => ObjectClass)。

我已经尝试了以下所有内容,但没有任何效果:

/** 
 * @var [string => ObjectClass]
 */
private $myAssociativeArray;

/** 
 * @var string|ObjectClass[]
 */
private $myAssociativeArray;

如何让NetBeans知道我正在暗示将字符串映射到ObjectClass?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我能够实现这一目标的最好方法是,一旦开始遍历关联数组,就可以在该点输入提示变量。这仅在数组包含所有相同类类型时才有效。

<?php
    foreach($myAssociativeArray as $item){
       /* @var $item ObjectClass */
       Some code here...
    }

这应该正确传递ObjectClass类型提示到$ item。同样,如果您的数组包含多个类类型,则此解决方案将无效。

答案 1 :(得分:0)

根据PHP Fig标准,它的完成方式如下所示,尽管我还没有找到可以在2020年键入提示的IDE。:-(

private IBusControl CreateServiceBus()
{
    var url = string.Format(CultureInfo.InvariantCulture, "rabbitmq://{0}", _messagingServerName);
    var uri = new Uri(url);

   _loggingService.DebugFormat("Starting messaging service bus: \"{0}\". Username=\"{1}\".", url, _messagingUsername);

    return Bus.Factory.CreateUsingRabbitMq(sbc =>
    {
        Host = sbc.Host(uri, h =>
        {
            h.Username(_messagingUsername);
            h.Password(_messagingPassword);
        });

        //Configure end points
    });
}

https://github.com/php-fig/fig-standards/blob/211063eed7f4d9b4514b728d7b1810d9b3379dd1/proposed/phpdoc.md#collections

PHPStorm有一个未解决的问题: https://youtrack.jetbrains.com/issue/WI-43843