Это может быть немного сложно объяснить, поэтому я приведу пример кода.Обратите внимание, что я использую IDE NetBeans (последняя версия).
class Dummy {
public function say(){ }
}
/**
* Builds dummy class and returns it.
* @return Dummy The dummy class.
*/
function say_something(){
return new Dummy();
}
$s=say_something();
При разработке в среде NetBeans я могу вызвать автозаполнение, нажав ctrl + space после ввода "$ s->".В следующем окне подсказки есть пункт «say ()».Это потому, что javadoc говорит, что say_something возвращает Dummy и класс Dummy, проанализированный NetBeans, знает, что у него есть метод "say ()".
Пока все хорошо.
Моя проблема вмассивы.Пример кода следующий:
/**
* Builds array of 2 dummy classes and returns it.
* @return Array The dummy class. (*)
*/
function say_something2(){
return array(new Dummy(),new Dummy());
}
$s=say_something2();
Если я попробую снова выполнить автозавершение, но вместо этого с помощью «$ s [0] ->», я не получу методы класса Dummy.Это потому, что в JavaDoc я только сказал, что это массив, , но не тип значений .
Так что вопрос в том, существует ли какой-либо синтаксис JavaDoc, чит, что угодно, чтопозволяет мне сказать JavaDoc, какой тип переменных ожидать в массиве?