Что означает @param в классе?
Что означает @param при создании класса? Насколько я понимаю, он используется, чтобы сообщить script, какой тип данных есть переменные и какое значение возвращает функция, верно?
Например:
/**
* @param string $some
* @param array $some2
* @return void
*/
Разве нет другого способа сделать это, я думаю о таких вещах, как: void function() { ... }
или что-то в этом роде. А для переменных возможно (int) $test;
Ответы
Ответ 1
@param
не имеет особого значения в PHP, он обычно используется в комментарии для написания документации. Пример, который вы предоставили, показывает только это.
Если вы используете инструмент документации, он будет прорисовывать код для @param
, @summary
и других подобных значений (в зависимости от сложности инструмента), чтобы автоматически генерировать хорошо отформатированную документацию для кода.
Ответ 2
Как уже упоминалось, @param, о котором вы говорите, является частью комментария, а не синтаксически значимым. Здесь просто есть подсказки для генератора документации. Более подробную информацию о поддерживаемых директивах и синтаксисе вы можете найти, просмотрев проект PHPDoc.
Говоря во вторую часть вашего вопроса... Насколько я знаю, не существует способа указать тип возвращаемого значения в PHP. Вы также не можете заставить параметры иметь определенный примитивный тип (строка, целое число и т.д.).
Однако вы можете потребовать, чтобы параметрами были либо массив, либо объект, либо определенный тип объекта с PHP 5.1 или около того.
function importArray(array $myArray)
{
}
PHP будет вызывать ошибку, если вы попробуете и вызовите этот метод с чем угодно, кроме массива.
class MyClass
{
}
function doStuff(MyClass $o)
{
}
Если вы попытаетесь вызвать doStuff с объектом любого типа, кроме MyClass
, PHP снова выведет ошибку.
Ответ 3
Я знаю, что это старый, но для справки, ответ на вторую часть вопроса теперь, PHP7
.
// this function accepts and returns an int
function age(int $age): int{
return 18;
}
Ответ 4
PHP полностью не замечает комментариев. Он используется для описания параметров, которые использует метод, только для того, чтобы сделать код более понятным и понятным.
Кроме того, хорошая практика кода посвящена использованию определенных имен (например, @param
) для генераторов документации.
Некоторые IDE будут включать @param
и другую информацию в подсказке при использовании зависания над соответствующим методом.
Ответ 5
@param является частью комментария описания, который сообщает вам, что такое тип входного параметра. Это не имеет никакого отношения к синтаксису кода. Используйте редактор с поддержкой цвета, например Notepad ++, чтобы легко увидеть, что такое код и какие комментарии.