Указание типов в параметрах методов vs phpDoc

php5 подарил нам всем много классных и удобных вещей, однако многие из них как обычно у ребят из Зенда - просто недоделаны до конца. Одна из таких вещей - это подобие строгой типизации, точнее возможность такую сделать. Как правило, люди, которые долго программируют в пхп и так пишут типы принимаемых в методах переменных (ну и возвращаемых тоже) - в основном для того, чтобы это подхватывалось IDE - и можно было вызывать посказки и не париться.

Так вот, с приходом php5 на реализацию этого приема в phpDoc казалось бы можно было бы забить. Стало возможным указать тип явно:

public function someFunction(CoolClass $arg)

нет смысла углубляться в то что там будет экспшен, если придет не то - это редкоюзаемо. Вся проблема в том, что в казалось бы такой простой штуке разработчики пхп таки умудрились сделать серьезную недоделку: туда можно написать только имя класса, имя интерфейса (ну это понятно - ибо подсказки), почему-то array, т.е. массив, НО нельзя вписать int или скажем bool. Но это не единственная проблема - также нельзя указать, что же именно возвращает метод, причем вообще нельзя. Так что, этот душевный порыв разработчиков языка так и не нашел своего достойного применения - разве что в качестве выпендрежа (типа смотрите, я и это умею и знаю)  ну или редкими энтузиастами, которые основывают свой код на экспешнах, которые полетят в случае если придет не то. Так что, все равно пишем phpDoc-и:

/**
* @param string
$categoryId
* @return string
*/
public function getTransactions($categoryId)

ибо они на данный момент незаменимы :)

Распродажи Мы знаем где недорого - распродажа. Скидки и акции в магазинах Москвы.

Оставить комментарий

В Вашем браузере отключена поддержка JavaScript! Для корректной работы Вам необходимо включить поддержку JavaScript и обновить данную страницу.

Информеры с тИЦ и PR: получить код для сайта
black eyed peas . салон Мария на Рязанском проспекте