Юра
Ну большая разница вообще
Юра
Если у тебя не найдена страница, значит все к херам сломано
Konstantin
Я это представляю так http status code: 200, говорит все ок, запрос успешно дошел до апи и успешно вернулся смотрим в пейлоад: {status: "error", my_error_code: 404, reason: "Book not found"}
на самом деле, ты взял один мелкий минус реста и пытаешься его выставить глобальным недостатком, начисто игнорируя практическую ценность 🙂 если для тебя это минус почему-то (не хочу даже углубляться в пустую полемику), ну окей, бери rpc, там всё именно как тебе нравится
Юра
и апи тут не причем
Мария
Меня бесит когда все страницы показывают 200, а на деле все сломано и лежит
Юра
Какие страницы?
Юра
Мы тут про рест говорим или про html траницы?
Юра
К html страницам у меня вопросов нет
Юра
Что значит все лежит?
Иван
Что значит все лежит?
это как почти всё, только вообще всё!
Мария
это как почти всё, только вообще всё!
Когда вообще все, тогда 500
Юра
Ну если все лежит, у тебя уровень транспорта или какой-то другой упал и значит там явно не будет 200
Мария
Умереть может на любом уровне
Мария
А пихать код ошибки в json - за это надо руки отрывать
The Ant
ты мне не нравишься
извини, я по девушкам
Мария
извини, я по девушкам
ты же фронтедер....
The Ant
ты же фронтедер....
хто сказал? я Господин Фуллстек! 😄
Мария
хто сказал? я Господин Фуллстек! 😄
ты любишь js, а врешь что девушек
Gleb
О чем говорит 404?
Подождите. Если не найдено на уровне транспорта - 404, если на уровне api, то 204. По мне вполне понятно.
Юра
А если еще какой-то смысл которого нет в http status codes?
Юра
Почему пространство ошибок апи должном мапится в пространство ошибок http протокола?
Юра
Как они вообще связаны?
Юра
Http был задолго до реста
Gleb
А если не найдено но ожидается в будущем?
А разве rest должен отвечать на этот вопрос?
Gleb
Нет, я не спорю что http status codes не покрывают всех вопросов касательно реста.
Мария
Http был задолго до реста
и что? буквы были задолго до программирования, да и слой понятийный совсем другой, и теперь не использовать их?
Konstantin
а видали как забавно ломается бандл миграций о текущую базу?
Konstantin
[Doctrine\DBAL\Exception] Unknown column type "json_array" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Ty pe::getTypesMap(). If this error occurs during database introspection then you might have forgotten to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or hav e your custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some mapping information.
Konstantin
типа на каком-то поле где-то в имеющейся базе есть коммент от доктрины вида COMMENT ON COLUMN foo.bar IS '(DC2Type:json_array)
Konstantin
а теперь доктрина сама же свой ddl не может пережевать 🙁
Юра
Так json _array стандартный же тип
Юра
Че ей не нравится?
Konstantin
уже не, выпилили
Юра
Возможно он появился позже
Юра
А ты запускаешь типо с другой версии?
Юра
Странно че в доке показывает
Konstantin
не, вендоры обновились (я так понимаю)
Юра
Короче у меня такое было решилось откатом
Юра
Могли бы алиас оставить для обратной совместимости
Konstantin
просто забавно, ага
Ahmad
Всем привет. Подскажите, как настроить listener чтобы дефолтные логи отправлялись на другой сервер?
artem
Всем привет. Подскажите, как настроить listener чтобы дефолтные логи отправлялись на другой сервер?
Лучше не переусложнять. Есть сервисы которые контролируют твои логи. Сейчас вспомню
The Ant
filebeat кажись
Konstantin
Всем привет. Подскажите, как настроить listener чтобы дефолтные логи отправлялись на другой сервер?
можно более конкретный вопрос? способов это сделать около полусотни, есть куча протоколов и в целом подходов для отправки логов куда-то
Vlad
https://vector.dev/
Alex
Привет, пробую подключить DoctrineExtensions для date на symfony 6 может кто то сталкивался или поможет ссылкой )) composer require beberlei/doctrineextensions http://joxi.ru/YmExQ49TGEaJWr
artem
filebeat кажись
Точно не он, но может подойти. Тот сервис платный, но к сто, с которым не очень дружим, идти не хочу))
Ahmad
можно более конкретный вопрос? способов это сделать около полусотни, есть куча протоколов и в целом подходов для отправки логов куда-то
Есть такой сервис для хранения, управления логов https://betterstack.com/logtail Так отправляется лог вручную $logger = new Logger("logtail-source"); $logger->pushHandler(new LogtailHandler("token")); $logger->critical('Test critical'); Нужно отправить в этот сервис логи которые пишутся в var/log. То есть системные
Vlad
а зачем вообще собирать логи на уровне приложения? Ставишь любой коллектор и усе. Тот же вектор
Konstantin
у него дурная постановка вопроса: он хочет с помощью симфони (?) отправить туда системные логи, которые пишут другие демоны. так что да, файлбит/вектор
Ahmad
1) причем тут симфони? 2) чем официальная их дока не подходит?
1. Наш проект на симфони, выше написал код который вручную отправляет лог из симфони 2. Лично мне нравится стандартный лог, но попросили сохранить логи в каком нибудь бесплатном сервисе. Может сервер падает иногда, причину не знаю.
Ahmad
Может неправильно выразился. Нужно вот эти логи отправить на другой сервис http://joxi.ru/Vrw4L8OToxJd5m
Vlad
в другой сервис это logtail?
Ahmad
плюс увеличиваешь сетевые походы,а оно тебе надо?
да, я уже предупредил их. Не знаю в чем причина, скорее всего сервер падает иногда и они не могут читать стандартный лог. Хотят отправить только критические ошибки
Vlad
ну собирай коллектором и отправляй
Ahmad
в другой сервис это logtail?
пока да, но если для симфони есть другой вариант, можно его использовать
artem
Точно. Sentry. Никак не мог найти
Ahmad
sentry
вроде есть библиотека для симфони. Сейчас изучу, спасибо
Dmitriy
Всем привет! Поделитесь опытом: как вы тестируете приватные методы?
artem
JUnit))
artem
Это bad practice. Не делайте так никогда
Dmitriy
Либо через рефлексию, либо через публичные
Подход через публичные методы понятен. Можете про рефлексию объяснить или дать ссылку на доку?
Dmitriy
Это bad practice. Не делайте так никогда
рефлексия или тест через публичные методы?
Kirill
ну и погугли по ключевым словам php reflection example
artem
рефлексия или тест через публичные методы?
И то, и то. Мы же используем публичные методы, значит они должны работать. Если в них приватные не работают, то это должно дать фейл
artem
Никто не тестит приватные
artem
Я один читал про инкапсуляцию?))
Dmitriy
Никто не тестит приватные
у меня есть интерфейс, в реализации этого интерфейса бОльшая часть логики в приватных методах. Публичные методы последовательно выполняют приватные и формируют результат. Не очень удобно не тестировать приватные методы