Pull to refresh

Comments 8

Сейчас уже можно использовать подобие дженериков с помощью PHPStan/Psalm

Phpstorm уже хорошо с ними работает, а сами инструменты будут ругаться при неправильном использовании. Уже около года активно используем

Спасибо за уточнение, у автора об этом во второй статье написано :)

Почему в PHP нет дженериков?

Потому что php интерпритируемый язык, а проверка типа в runtime — это дорого. Это в «условном rust» можно неделю компилировать, и на выходе получить быстрый код, потому что весь вывод типов был выполнен в ходе компиляции и в runtime не производится. В php такое не прокатит.

Почему не возможен? Возможен!.
Особенность в том как оно возможно. с одной стороны дженерики могут быть удаляемыми (игнорируемые) интепретатором. И в этом случае проверку типов дженериков будет производить кто? Правильно! IDE. А нам больше и не надо на первом этапе. В 99% случаев от дженериков требуется проверка на этапе написания кода.

Теоретически дженерики могут быть полностью интепретируемыми, но это врят ли возможно, но и в PHP есть компилируемый режим работы. Я забыл как этот режим называется, но знаю что он точно есть. Так что в этом режиме дженерики тоже не помогут?

Дженерики в пхп Это конечно хорошо. Но есть более востребованные фичи. Например я бы предпочел переопределение операторов (на примере gmp)

Что бы можно было ссумировать (и другие арифметические операции) используя инстансы классов.

Sign up to leave a comment.

Articles