Диёр
Диёр
по-умолчанию также вместо JSON_THROW_ON_ERROR стоит 0
Evgen
А json_throw_on_error хранит 1?
Evgen
Етитьки колотитька
Evgen
Видимо здесь есть тайный смысл
Vladislav
https://twitter.com/original_ejl/status/1214696666172780544?s=12
Evgen
Диёр
Диёр
$arr1 = ['a', 'b', 'c'];
$arr2 = [
0 => 'a',
1 => 'b',
2 => 'c'
];
их жсоны равны
Диёр
НО!
Ivan
Evgen
Диёр
НО!
стоит вместо json_encode($arr1) сделать json_encode($arr1, JSON_FORCE_OBJECT)
и оба выдадут {"0":"a","1":"b","2":"c"}
Shub
Evgen
Диёр
Это реально бывает полезно?
ну если у тебя случайно дикт, где все ключи это инты по порядку возрастания и ты хочешь чтобы у тебя фронт получил дикт, а не массив - да
Evgen
Дикт у которого ключи числа по порядку возрастания слишком сильно попахивает списком
Диёр
возможно
Диёр
НО ТЫ НЕ СМОЖЕШЬ ЭТОГО ПРОВЕРИТЬ
Диёр
Диёр
и допустим делаешь ты что-нибудь с этими юзерами и дальше жсон передаешь
Диёр
это дикт? это массив? это супермен!
Evgen
Душевно
Диёр
а ещё в пхп при флажочках на "рестрикт всё" какая-то очень странная магия с попыткой получения элемента из дикта по несуществующему ключу
Диёр
например есть $kek = [];
Диёр
$kek[1] выкинет эксепшн
Диёр
а вот isset($kek[1]) нет (isset проверяет на null)
Sergey
Сегодня какое то душилово идёт историями про код
Диёр
кстати я кажется не говорил, но у пэйпала пхп сдк это гнойная рана после крокодила
Диёр
пахнет также
Диёр
по сути просто жсоны по хттп отправляет, но код как из примеров дедушки, только с привкусом ооп и на пхп
Диёр
а ещё я не знаю как так получилось, но когда ты делаешь анонимную функцию, то её всегда лучше делать статичной и она от этого совсем чуток, но всё-таки получит профита по производительности
Диёр
и я чет не понимаю почему по-дефолту интерпретатор не считает любые анонимные функции статичными
Диёр
а ещё кое-что
Диёр
это совсем мелочь
Диёр
но просто "какого хуя"
Диёр
array_map принимает функцию и массив, а array_reduce принимает массив и функцию
Диёр
больше всего меня в пхп напугала эта вещь
спокойной ночи
function first($arg)
{
echo $arg;
}
function second($fn)
{
$fn("olololo");
}
second("first");
```
Sergey
Sergey
Диёр
Sergey
Evgen
Дивный мир консистентности php
Диёр
Evgen
Кажется что у пхп не интерпритатор а полукрмпилятор какойто
Evgen
Ололо?
Sergey
Диёр
Диёр
Ничего?
я раньше тоже так думал!
Диёр
я был уверен что всё наебнется
Диёр
но нет!
Evgen
Ну это все прикольно, но неужели по другому функцию не прокинуть? А лямбды есть?
Evgen
А fn значит не может быть строкой? Или может?
Диёр
лямбды в виде стрелочек добавили в 7.4
можно прокидывать функции так:
DB::afterCommit(static function () use ($operation) {
PackagePurchaseCreated::dispatch($operation);
});
Evgen
Можно на тип чекнуть? Или если инвокать переменную в которой строка то он будет искать статическую функцию?
Диёр
чтобы отправить переменную-функцию нужно явно создать переменную и забиндить к ней функцю аля $fn = static function() {}
Диёр
Evgen
Писча для раздумий
Sergey
А потом спрашивают почему не хотят писать на пхп
Shub
ну реально, насколько может быть сложной система, на 90% состоящая из кафкианских очередей с жсончиками внутри?
Shub
оно все тупо синхронное, с миллионом дублирующихся данных где ни попадя, со стеками глубиной в милю, скрывающих факт того, что один жсон надо переложить из этой очереди в ту
Shub
ну в нашем мирке проблема переповторов зафейленных вызовов апишечки - нерешаема в общем виде
Ilya
И что делаете? Закрываете процесс?
Shub
нет, заменяем все очередями
Shub
не то, чтоб я против очередей, но иногда дело доходит до смешного
Shub
https://mobile.twitter.com/vagnernasc28688/status/1215103578345549828
Shub
Дядя Боб медленно, но верно реабилитируется в моих глазах
Ilya
Он же ещё не ответил.
Vladislav
https://twitter.com/jerrynixon/status/1215337376068669441?s=21
Vladislav