Intereting Posts
реальный пример memoization в javascript? Ограничение на обновление php mysql Дифференцировать варианты с правильным ответом с помощью PHP Самый быстрый способ чтения первой строки из файла Как установить кодировку UTF-8 для файла PHP .htaccess config с символическими ссылками и индексными файлами, которые не работают должным образом Формы Symfony (как автономный компонент с Doctrine) EntityType не работает рассчитать ранг пользователя URL-адрес анализа с помощью Regex с использованием PHP Some Hosting Not Liking SET NAMES utf8 – «Невозможно выполнить запросы, в то время как другие небуферизованные запросы активны». Перенос содержимого таблиц и разбора переменных таблицы на следующую страницу Проблема с разбиением на страницы в пользовательском шаблоне WordPress Приложение C # должно отправлять некоторые данные на веб-сайт php, но должно уважать политику аутентификации Google-подобная поисковая система в PHP / mySQL Ошибка Drupal PHP zval не может быть массивом

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

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