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