Size: a a a

2020 October 28

/

/bin/cat in PHP
Dmitriy Tkachenko
а юнион тайп уже не тип?
Как под него однозначно выделять память и написать такой статический анализатор?
источник

/

/bin/cat in PHP
Алексей Гевондян
если создать инструмент, который запретит такие штуки - то будет норм) ошибка "переменная х уже выше объявлена как bool. используйте другую переменную"
Такого инструмента нет в самом языке. Это ничем не проверенные гарантии
источник

AM

Artem Molotov in PHP
/bin/cat
Как под него однозначно выделять память и написать такой статический анализатор?
Что первое, что второе вполне реализуемо.
источник

DT

Dmitriy Tkachenko in PHP
/bin/cat
Как под него однозначно выделять память и написать такой статический анализатор?
а че за статический анализатор? зачем выделять память? вопрос конкретный - есть ли тип у переменной в php?
источник

DE

Dmitry Eliseev in PHP
Алексей Гевондян
в один момент времени одна переменная может иметь 1 тип. осталось только писать так, чтобы переменная имела 1 и только 1 тип от начала и до конца своей жизни. и будет норм.
Строгой типизации переменных как раз не хватает, чтобы отшить возможные проблемы с типами.

Но так как все проверки в пыхе идут лишь во время работы скрипта это всё мало поможет без псалма.
источник

AM

Artem Molotov in PHP
Dmitriy Tkachenko
а че за статический анализатор? зачем выделять память? вопрос конкретный - есть ли тип у переменной в php?
Как psalm, только под языки со статической типизацией. А выделять память для структуры данных нужно почти всегда.
источник

A

Aleksandr Khristenko in PHP
/bin/cat

$x;
if(mt_rand(0, 2) === 2){
   $x = true;
} else {
   $x = 10;
}

Тип нельзя вывести во время компиляции. Только в рантайме
bool | int
источник

АГ

Алексей Гевондян... in PHP
какой смысл держать в одной переменной int|true? ради проверок вида if($x === true) ... ? просто для экономии места под еще одну переменную флага стало быть.
источник

/

/bin/cat in PHP
Окей, а если код база 100000 строк
источник

DT

Dmitriy Tkachenko in PHP
Artem Molotov
Как psalm, только под языки со статической типизацией. А выделять память для структуры данных нужно почти всегда.
опять мухи и котлеты смешиваешь
источник

A

Alexcc in PHP
Хорошая типизация учитывая что еще 1000 типов добавится
источник

AM

Artem Molotov in PHP
Dmitriy Tkachenko
опять мухи и котлеты смешиваешь
В смысле?
источник

DT

Dmitriy Tkachenko in PHP
есть тип у переменной в пхп или нет?
источник

DT

Dmitriy Tkachenko in PHP
в этом же вопрос
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
если создать инструмент, который запретит такие штуки - то будет норм) ошибка "переменная х уже выше объявлена как bool. используйте другую переменную"
А ещё есть така штука как shadowing
источник

A

Alexcc in PHP
Нетуу
источник

/

/bin/cat in PHP
Что можно сказать про каждый скоуп кода и сколько займет такой анализ?
источник

AM

Artem Molotov in PHP
Dmitriy Tkachenko
есть тип у переменной в пхп или нет?
Я отвечал на совсем другой вопрос. Вопрос типа у переменной ты обсуждаешь с другими)
источник

A

Alexcc in PHP
в php типизации нету и не будет
источник

AM

Artem Molotov in PHP
Dmitriy Tkachenko
есть тип у переменной в пхп или нет?
По сути твой оппонент в некотором роде тему поменял
источник