Mysql PHP 7 , Strict Types, PDO MySQL и DECIMAL

странно - и не пятница, и не весна!
decimal - формат для хранения чисел с произвольной размерностью и точностью,
основной инструмент php для работы с числовыми данными с произвольной точностью - bcmath, тип данных у которого, внезапно, numeric!
не вижу причин по которым decimal в php должен приводиться к double, если он приводится к numeric
или вы забыли что есть такой тип данных? ;)

только не говорите мне, что нет таких типов, как json, ресурс или callable ))
 
Последнее редактирование:
странно - и не пятница, и не весна!
decimal - формат для хранения чисел с произвольной размерностью и точностью,
основной инструмент php для работы с числовыми данными с произвольной точностью - bcmath, тип данных у которого, внезапно, numeric!
не вижу причин по которым decimal в php должен приводиться к double, если он приводится к numeric
или вы забыли что есть такой тип данных? ;)

только не говорите мне, что нет таких типов, как json, ресурс или callable ))
Был бы такой тип! Но в PHP в т.ч. в type hinting есть только float и int, нет множества типов numeric. Как всегда в PHP об...лись. Пусть в релизе появится общий тип numeric, скалярный decimal, о чем и пост. Опять будет "это не баг , а фича". Но очевидно, что decimal это не строка, а числовой тип.
 
Описали проблему. В MySQL есть unsigned int, т.е. очень большие числа безнаковые, поэтому перевести их в базовые типы PHP не возможно, т.к. есть возможность переполнения

DECIMAL/NUMERIC could be huge number. It cannot fit into PHP's native types. Therefore, it should be "string".

BTW, AFAIK, MySQL supports unsigned 64 bit int. PHP's "int" is signed int and it's either 32 bit or 64 bit. It can overflow. I'm not sure how current implementation handles this. Return as "string" also? It should. IMO. Returning broken data from database is simply evil.
 
в PHP он должен быть типа float
О каких потерях речь?
Тогда к четру весь этот type hinting
Как всегда в PHP об...лись.

@Активист не понимает, что такое float, scalar type hints и «в PHP об..лись». Всё, что мы должны вынести из этого топика.
 
@Вурдалак , все я понимаю. Если уж вводить типизацию данных , то делать это всерьез и надолго, что бы потом разработчики либ не писали "Returning broken data from database is simply evil.". Нужно расширять типы данных до знаковых/беззнаковых/определенной точности/размерности/, символы дополнить до широких символов.
 
основной инструмент php для работы с числовыми данными с произвольной точностью - bcmath, тип данных у которого, внезапно, numeric!
http://php.net/manual/en/intro.bc.php
http://php.net/manual/en/book.bc.php
в сигнатуре функций стринги

тут весь пост - общение глухих со слепыми =)))
 
@Вурдалак , все я понимаю. Если уж вводить типизацию данных , то делать это всерьез и надолго, что бы потом разработчики либ не писали "Returning broken data from database is simply evil.". Нужно расширять типы данных до знаковых/беззнаковых/определенной точности/размерности/, символы дополнить до широких символов.
Может просто ЯП сменить? ;)
 
Был бы такой тип! Но в PHP в т.ч. в type hinting есть только float и int, нет множества типов numeric. Как всегда в PHP об...лись.
А resource в type hinting есть? Нету, а тип есть, черным по белому. А суслика NULL видишь? Нет. А он есть :)

Пусть в релизе появится общий тип numeric, скалярный decimal.
Нужно расширять типы данных до знаковых/беззнаковых/определенной точности/размерности/, символы дополнить до широких символов.
Прости, но у деда мороза другой адрес :(
Жизнь - дерьмо, понимаю.
 
Последнее редактирование:
Может просто ЯП сменить? ;)
Не, не реально. На .Net не пойду, а по другим хер найдешь сотрудников. Реально, PHP 7 позиционируется как революция в PHP. Ну чего не хватает - не хватает типов, а так из типов только int, float, string, bool
 
а что на пайтоне все еще веб делают?
джанго морально устарел чуть больше чем на вечность жеж...

а микросервисы мутить, есть масса других инструментов, которые работают шустрее и многопоточность умеют, в чем профит?
 
я лично знаю пару команд, которые очень успешно пишут веб на питоне
 
джанго морально устарел чуть больше чем на вечность жеж..
В мире PHP на Yii делают же проекты, чем питон хуже?
Плюсы по сравнению с PHP есть: меньше фреймворков и больше вероятность найти человека с большим опытом разработки на каком-то определенном фреймворке.
 
да, и даже на ларавеле тоже кто-то пишет, мир - он большой :)
 
Сверху