Size: a a a

2021 February 21

ЕР

Евгений Ромашкан... in PHP
А не просто json api
источник

VC

Vladimir Chernyshev in PHP
militska
А кто что использует для написания автотестов для апи?
symfony php browser )
источник

VC

Vladimir Chernyshev in PHP
вообщк codeception хорош
источник

AM

Artem Molotov in PHP
militska
А кто что использует для написания автотестов для апи?
Использовать браузер для теста API - такая себе затея, имхо.
источник

SP

Sergey Protko in PHP
militska
А кто что использует для написания автотестов для апи?
Просто через http kernel норм. Если у тебя там чёт сложное или апишка внешняя какая то можно поиграться с тулами типа pact и подобными (где можно контракт описать).

А так в целом довольно удобно можно и на js с jest каким тестить. Главное что бы можно было ассеитить контракты. В пыхе с готовым тут плохо
источник

SP

Sergey Protko in PHP
Ребят, у меня странный вопрос. Ищу примеры ситуаций когда невозможно словить ошибку в try catch. Мол странные и страшные вещи которые вызовут Крэш без возможности его обработать.
источник

SP

Sergey Protko in PHP
Именно php код, сегфолты с экстеншенами не предлагать
источник

SP

Sergey Protko in PHP
Ну или php код который вызовет спгфолт какой)
источник

M

Mike in PHP
Sergey Protko
Ребят, у меня странный вопрос. Ищу примеры ситуаций когда невозможно словить ошибку в try catch. Мол странные и страшные вещи которые вызовут Крэш без возможности его обработать.
https://netgen.io/blog/modern-error-handling-in-php

Там есть пример фатала
источник

M

Mike in PHP
Sergey Protko
Ну или php код который вызовет спгфолт какой)
А сигфолт на php это уже бага самого языка будет, так что не думаю что встретишь
источник

SP

Sergey Protko in PHP
Про какой именно пример ты говоришь
источник

SP

Sergey Protko in PHP
Mike
А сигфолт на php это уже бага самого языка будет, так что не думаю что встретишь
Ну я их встречал прежде встречу и вновь)
источник

M

Mike in PHP
Sergey Protko
Про какой именно пример ты говоришь
function myCustomErrorHandler(int $errNo, string $errMsg, string $file, int $line) { echo "Wow my custom error handler got #[$errNo] occurred in [$file] at line [$line]: [$errMsg]"; } set_error_handler('myCustomErrorHandler'); try {    what; } catch (Throwable $e) {    echo 'And my error is: ' . $e->getMessage(); }
источник

SP

Sergey Protko in PHP
Грубо говоря я сча в раздумьях на тему рисков в рамках одного процесса пыха (воркер) делать несколько операций подряд и если чего пошло не так мне надо это что-то обработать и закинуть в очередь ретрай.

Сейчас у меня все это разделено (сначала в очередь закидываю копии сообщений а затем их обрабатываю по отдельности) и за счёт этого невилирую риски подобные. Но все ж интересно насколько пых за последние лет 5 стал безопаснее
источник

SP

Sergey Protko in PHP
Mike
function myCustomErrorHandler(int $errNo, string $errMsg, string $file, int $line) { echo "Wow my custom error handler got #[$errNo] occurred in [$file] at line [$line]: [$errMsg]"; } set_error_handler('myCustomErrorHandler'); try {    what; } catch (Throwable $e) {    echo 'And my error is: ' . $e->getMessage(); }
Но суть примера как отловить, это не интересно. Интересны гипотетические ситуации которые не позволят твоему хэндлеру ошибок как бы ты его не определял отработать
источник

M

Mike in PHP
Sergey Protko
Грубо говоря я сча в раздумьях на тему рисков в рамках одного процесса пыха (воркер) делать несколько операций подряд и если чего пошло не так мне надо это что-то обработать и закинуть в очередь ретрай.

Сейчас у меня все это разделено (сначала в очередь закидываю копии сообщений а затем их обрабатываю по отдельности) и за счёт этого невилирую риски подобные. Но все ж интересно насколько пых за последние лет 5 стал безопаснее
Ну с воркерами я по такой же модели работаю. Если нужен 99.9% персистенс то кто-то должен обеспечить его. Думаю тут вопрос скорее даже не к языку а к варианту решения. Тоесть надо куда-то скинуть состояние и получить подтверждение, будь то успешная запись в файл, либо бд (по факту файл), либо что-то ещё. А если просто хранить критические значения в переменной (по сути в ОЗУ) то кетч не даст гарантии, какой бы язык не был.
источник

M

Mike in PHP
А вообще я ловил фаталы на  кеше, но пример уже не найду
источник

КГ

Константин Грачев... in PHP
Sergey Protko
Ребят, у меня странный вопрос. Ищу примеры ситуаций когда невозможно словить ошибку в try catch. Мол странные и страшные вещи которые вызовут Крэш без возможности его обработать.
https://github.com/automagistre/automagistre/pull/973

php-fpm выходит с кодом 70 просто от наличия этого кода
источник

КГ

Константин Грачев... in PHP
Sergey Protko
Ребят, у меня странный вопрос. Ищу примеры ситуаций когда невозможно словить ошибку в try catch. Мол странные и страшные вещи которые вызовут Крэш без возможности его обработать.
https://gist.github.com/grachevko/59662741ed2984f564364391c5230dfe

Вроде эта наркомания в сегфол падала. На актуальной на то время версии пхп, на новых не проверял.
источник

КГ

Константин Грачев... in PHP
Sergey Protko
Именно php код, сегфолты с экстеншенами не предлагать
А сорян, криво прочитал.

А что это нельзя отловить и чтобы не сегфол при этом? Фаталы, но не по синтаксису?
источник