Size: a a a

2021 December 02

k

knopkod4v in PHP
осталось только инпуты научиться валидировать, чтобы можно было пхпдоки ставить не на авось)
Ну т.е. в рантайме positive-int не закроешь, например.
С другой стороны это, наверное, не оч частые кейсы
источник

MM

Maksim Masiukevich in PHP
ну дык в других языках это делается также тайпкастами
источник

k

knopkod4v in PHP
в других языках нет пхпшников! :D
источник

АС

Альберт Степанцев... in PHP
вы неправы
strict_types это просто "более строгий режим рантаймового тайп-чека с отключением неявного приведения"
это не строгая типизация
источник

k

knopkod4v in PHP
хотя... В го есть :D
источник

MM

Maksim Masiukevich in PHP
в моём проекте стрикт тайп аще отключен. Я не оч понимаю, нахер он нужен в 2к21
источник

ДС

Дмитрий Спиридонов... in PHP
Тогда чем характеризуется строгая типизация?
источник

MM

Maksim Masiukevich in PHP
проверка типов в рантайме - ненужный рак
источник

АС

Альберт Степанцев... in PHP
в симфони валидация на атрибутах забавно сделана
вот вам и positive-int, и что угодно
источник

АС

Альберт Степанцев... in PHP
строгая типизация прежде всего это присвоение типа имени, а не значению, как в PHP
и отсутствие неявных кастингов
источник

ДС

Дмитрий Спиридонов... in PHP
ну отсутствие неявных кастингов - уже под этот пункт попадаем. strict_types Это делает судя по описанию
источник

АС

Альберт Степанцев... in PHP
не попадает

echo 2 + 2.1 + '2.2' ;
не упадет даже при strict_types
источник

ДС

Дмитрий Спиридонов... in PHP
.
источник

k

knopkod4v in PHP
инструменты есть, а вот подумать и написать - это уже сложнее 🤔
я про то, что человекам не сразу может быть понятно где и в каких местах (и почему) можно @var-ом заткнуть psalm, а где нет
источник

ДС

Дмитрий Спиридонов... in PHP
Ну я так понимаю это особенность вызова встроенных функций.
т.к. Вот такое выдало ошибку.
<?php
declare(strict_types=1);

function testfunc(string $test){
   echo $test;
}

testfunc(2 + 2.1 + '2.2') ;
источник

АС

Альберт Степанцев... in PHP
в общем - изучайте язык, на котором вы пишете
никакого строгой типизации в PHP, конечно же, нет
источник

ДС

Дмитрий Спиридонов... in PHP
И какая же она?
источник

АС

Альберт Степанцев... in PHP
слабая динамическая с редкими кейсами статической (пренебрежимо несущественными)
источник

АС

Альберт Степанцев... in PHP
с забавным механизмом рантайм тайп-чеков
источник

АС

Альберт Степанцев... in PHP
а, забыл добавить: с системой классов и интерфейсов, являющихся пользовательскими типами
это важно

а то есть ООП-языки, где нет классов-типов по факту
источник