- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
// PHP при делении может неявно конвертировать целые в плавающие, и всех этих int-ограничений для него не существует
echo 12 / 5; // 2.4
// Было бы логично предположить, что другие операторы работают так же, но эта камбала неявно кастует уже плавающее к целому в соседнем операторе
echo 9 % 0.9;
PHP Fatal error: Uncaught DivisionByZeroError: Modulo by zero in Command line code:1
Stack trace:
#0 {main}
thrown in Command line code on line 1
Dummy00001 13.11.2017 19:08 # +4
ЗЫ в пыхе есть fmod. смешно что в перле это работает аналогично. наверное с тех времен как содрали это с перла, так никто не догадался это поменять.
SemaReal 13.11.2017 19:22 # +5
Собачка еще..
bormand 13.11.2017 19:25 # +4
COWuTEJIbTBOEuMAMKu 13.11.2017 19:26 # +4
SemaReal 13.11.2017 19:28 # +1
COWuTEJIbTBOEuMAMKu 13.11.2017 19:32 # +1
COWuTEJIbTBOEuMAMKu 13.11.2017 19:24 # +5
SemaReal 13.11.2017 19:30 # −2
Ведь скорось так важна серьезным проектам...
COWuTEJIbTBOEuMAMKu 13.11.2017 19:34 # 0
inkanus-gray 13.11.2017 19:51 # +1
COWuTEJIbTBOEuMAMKu 13.11.2017 20:02 # 0
COWuTEJIbTBOEuMAMKu 13.11.2017 20:25 # +3
SemaReal 13.11.2017 20:30 # −2
Например популярный движок WordPress исправно работает только с MySQL.
поскольку в каждой базе функционал одианков (везде есть "SELECT *" и UPDATE и "left join") смысла уходить от MySQL нет
(из книги "думай как PHP разработчик")
COWuTEJIbTBOEuMAMKu 13.11.2017 22:34 # 0
SemaReal 14.11.2017 01:11 # −1
COWuTEJIbTBOEuMAMKu 14.11.2017 03:11 # +2
Fike 14.11.2017 10:32 # 0
COWuTEJIbTBOEuMAMKu 14.11.2017 11:34 # 0
Fike 14.11.2017 13:41 # 0
roman-kashitsyn 14.11.2017 14:24 # +2
Написал бы "На «AVITO», к примеру, используется «PostgreSQL»", ни у кого бы вопросов не возникло.
roman-kashitsyn 14.11.2017 10:42 # +3
Ладно хоть не
На mysql_real_escape_string("AVITO"), к примеру, используется mysql_real_escape_string("PostgreSQL")
inkanus-gray 14.11.2017 11:22 # +2
inkanus-gray 14.11.2017 14:01 # +2
COWuTEJIbTBOEuMAMKu 14.11.2017 11:34 # 0
SemaReal 14.11.2017 16:11 # 0
$stmt = $dbh->prepare("INSERT INTO NAMES (name) VALUES (:name)");
$stmt->bindParam(':name', "Avito");
$stmt->bindParam(':value', "Postgres")
inkanus-gray 14.11.2017 16:41 # +1
SemaReal 14.11.2017 18:21 # 0
value забыл, ну ты же понял
roman-kashitsyn 14.11.2017 19:31 # +3
Вот видишь, неоспоримое преимущество «mysql_real_escape_string» теперь должно быть тебе очевидным.
Stallman 14.11.2017 17:12 # 0
SemaReal 14.11.2017 18:21 # −1
>>var_dump
--дебагер? а чот это?
bormand 14.11.2017 18:33 # −1
Ну он же пишет, что на продакшоне. Т.е. зафейлившийся или слишком долгий запрос, к примеру. Чем тут дебаггер поможет?
SemaReal 14.11.2017 18:35 # 0
https://www.postgresql.org/docs/current/static/runtime-config-logging.html
А var_dump пишет в stdout, очевидно писать надо не туда, а в лог LogFaces, NewRelic, или хотя бы просто в текстовый файл,
bormand 14.11.2017 18:45 # 0
Т.е. даже не в лог пыхи, а прямо в браузер? О_о
З.Ы. Кстати, а мускуль тоже умеет репортить долгие и битые запросы?
inkanus-gray 14.11.2017 18:48 # 0
inkanus-gray 14.11.2017 18:55 # 0
Выхлоп var_dump можно перехватить с помощью вызовов ob_start и ob_get_contents. В PHP нормальная практика, когда используются функции, высирающие в stdout, но перед этим включается перехватчик.
SemaReal 14.11.2017 20:10 # 0
это чтобы использовать PHP как шобла-низатор и сохранять потом результат или слать его по email?
inkanus-gray 14.11.2017 21:33 # −1
И да, чтобы отправлять по e-mail красиво оформленный текст, используя встроенный шаблонизатор, другого пути и нет.
А ещё иногда возникает желание генерировать из PHP всякие файлы, причём не совсем HTML или совсем не HTML...
roman-kashitsyn 14.11.2017 22:09 # 0
vistefan 14.11.2017 23:20 # −1
Открой для себя Python.
То, что пхп выплевывает в stdout всё, что вне кода, покрывается в питоне возможностью принтить мультилайн строки
Для подстановки переменных в строки есть неплохой format.
Остальное в питоне лучше.
SemaReal 14.11.2017 23:23 # −1
А в Ruby и Perl еще есть HERE Document.
d_fomenok 15.11.2017 14:23 # −1
php.net/manual/ru/language.types.string.php#language.types .string.syntax.heredoc
php.net/manual/ru/language.types.string.php#language.types .string.syntax.nowdoc
SemaReal 14.11.2017 23:26 # −1
но почему не сохранить файл на диске тогда уже, и не отдавать его через sendfile(2))?
bormand 14.11.2017 20:37 # 0
...и засунуть результат в eval, чтобы получить уробороса.
inkanus-gray 15.11.2017 14:00 # −1
SemaReal 14.11.2017 19:47 # −1
В пыхе как-то не принято разделять на stdout, stderr и логи.
>мускуль
умеет
SemaReal 13.11.2017 21:48 # 0
самоутверждаешься за счет тех, у кого нет такого богатого опыта разработки на PHP.
Fike 13.11.2017 22:13 # −1
SemaReal 14.11.2017 01:12 # −1
Steve_Brown 14.11.2017 09:36 # −1