Можете ли вы намекнуть на тип элементов массива?

Этот вопрос связан с этим:

Можно ли намекнуть на тип элементов в возвращаемом массиве?

e.g. :

/**
 *  MyFunction does a lot of things
 *
 * @param TClass1 $var1
 * @param TClass2 $var2
 * @return array[TClass3] //<- I'm trying to express this
 */
 function MyFunction( $var1, $var2 ){
   ...

Я использую NetBeans в качестве среды IDE, которая использует (как и многие другие IDE PHP) преимущества блоков документации, указанных выше, для определения типа возвращаемых значений.

Если бы я мог объяснить, какой тип ожидается внутри массива, я мог бы надеяться, что IDE сможет предложить правильное завершение для следующего случая:

  $myTab = MyFunction( $foo, $bar );
  foreach( $myTab as $itm ){
    $itm->myFi| //offer the completion for a TClass3 object
  }

person LeGEC    schedule 26.05.2011    source источник
comment
в PhpStorm вы можете использовать * @return TClass3[] - я не знаю, работает ли он в NetBeans.   -  person OZ_    schedule 26.05.2011
comment
Да вроде работает. Спасибо. Отправьте этот комментарий как ответ, и я его приму.   -  person LeGEC    schedule 27.05.2011


Ответы (2)


Использовать

@return TClass3[]

or

@return TClass3[]|TClass3
person OZ_    schedule 27.05.2011

Вы пытаетесь намекнуть на возвращаемый тип, чтобы документация сгенерировала его? Если это так, вы, вероятно, могли бы это сделать, вы также могли бы указать это в описании этой переменной.

Это комментарий, в нем можно делать все, что угодно.

person Pwnna    schedule 26.05.2011
comment
Я пытаюсь воспользоваться автозавершением кода в ide. - person LeGEC; 26.05.2011