Подтвердить что ты не робот

Что означает @param в классе?

Что означает @param при создании класса? Насколько я понимаю, он используется, чтобы сообщить script, какой тип данных есть переменные и какое значение возвращает функция, верно? Например:

/**
 * @param string $some
 * @param array $some2
 * @return void
 */

Разве нет другого способа сделать это, я думаю о таких вещах, как: void function() { ... } или что-то в этом роде. А для переменных возможно (int) $test;

4b9b3361

Ответ 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 ++, чтобы легко увидеть, что такое код и какие комментарии.